Note: The other languages of the website are Google-translated. Back to English

Comment insérer un nombre spécifique de lignes à intervalles fixes dans Excel?

Dans la feuille de calcul Excel, vous pouvez insérer une ligne vide entre des lignes existantes à l'aide de la fonction Insérer. Mais, si vous disposez d'une large gamme de données et que vous devez insérer deux lignes vides après chaque troisième ou nième ligne, comment pourriez-vous terminer ce travail rapidement et facilement?


Insérer un nombre spécifique de lignes vides dans la plage de données à intervalles fixes avec le code VBA

Le code VBA suivant peut vous aider à insérer un nombre spécifique de lignes après chaque nième ligne dans les données existantes. Veuillez procéder comme suit:

1. Maintenez le ALT + F11 clés dans Excel, et il ouvre le Microsoft Visual Basic pour applications fenêtre.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Fenêtre du module.

Code VBA: insérer un nombre spécifique de lignes dans les données à intervalles fixes

Sub InsertRowsAtIntervals()
'Updateby Extendoffice
Dim Rng As Range
Dim xInterval As Integer
Dim xRows As Integer
Dim xRowsCount As Integer
Dim xNum1 As Integer
Dim xNum2 As Integer
Dim WorkRng As Range
Dim xWs As Worksheet
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xRowsCount = WorkRng.Rows.Count
xInterval = Application.InputBox("Enter row interval. ", xTitleId, 1, Type:=1)
xRows = Application.InputBox("How many rows to insert at each interval? ", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Row + xInterval
xNum2 = xRows + xInterval
Set xWs = WorkRng.Parent
For i = 1 To Int(xRowsCount / xInterval)
    xWs.Range(xWs.Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column)).Select
    Application.Selection.EntireRow.Insert
    xNum1 = xNum1 + xNum2
Next
End Sub

3. Après avoir collé ce code, veuillez appuyer sur F5 clé pour exécuter ce code, une boîte de dialogue apparaîtra pour vous rappeler de sélectionner la plage de données que vous souhaitez insérer des lignes vides, voir capture d'écran:

4Cliquez sur OK bouton, une autre boîte de dialogue apparaîtra, veuillez entrer le nombre d'intervalles de ligne, voir capture d'écran:

5. Continuez à cliquer OK bouton, dans la boîte de dialogue suivante, entrez le nombre de lignes vides que vous souhaitez insérer, voir capture d'écran:

6. Puis clique OK, et les lignes vides ont été insérées dans les données existantes à intervalles réguliers, voir les captures d'écran:


Insérer un nombre spécifique de lignes vides dans la plage de données en fonction des valeurs de cellule avec le code VBA

Parfois, vous devrez peut-être insérer les lignes vides en fonction d'une liste de valeurs de cellule.Dans ce cas, le code VBA ci-dessous peut vous rendre service, procédez comme suit:

1. Maintenez le ALT + F11 clés dans Excel, et il ouvre le Microsoft Visual Basic pour applications fenêtre.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Fenêtre du module.

Code VBA: insérez un nombre spécifique de lignes vides en fonction d'une liste de nombres:

Sub Insertblankrowsbynumbers ()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xAddress As String
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the spefic number column to use(single column):", "Kutools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Column
xCount = xRg.Count
Set xRg = xRg(1)
For I = xLastRow To xFstRow Step -1
xNum = Cells(I, xCol)
If IsNumeric(xNum) And xNum > 0 Then
Rows(I + 1).Resize(xNum).Insert
xCount = xCount + xNum
End If
Next
xRg.Resize(xCount, 1).Select
Application.ScreenUpdating = True
End Sub

3. Après avoir collé ce code, appuyez sur F5 clé pour exécuter ce code, dans la boîte de dialogue qui apparaît, sélectionnez la liste des nombres sur lesquels vous souhaitez insérer des lignes vides, voir capture d'écran:

4. Puis clique OK, et vous obtiendrez les résultats dont vous avez besoin comme les captures d'écran suivantes:


Insérez un nombre spécifique de lignes vides dans la plage de données à intervalles fixes avec une fonction pratique

Si vous n'êtes pas familier avec le code VBA ci-dessus, Kutools pour Excel peut aussi vous aider, son Insérer des lignes et des colonnes vides La fonction peut insérer rapidement et facilement un nombre spécifique de lignes ou de colonnes dans des données existantes à intervalles fixes.

Remarque :Appliquer cette Insérer des lignes et des colonnes vides , tout d'abord, vous devez télécharger le Kutools pour Excel, puis appliquez la fonction rapidement et facilement.

Après l'installation de Kutools pour Excel, procédez comme suit:

1. Sélectionnez la plage de données dans laquelle vous souhaitez insérer des lignes vides à intervalles.

2Cliquez sur Kutools > insérer > Insérer des lignes et des colonnes vides, voir capture d'écran:

3. Dans le Insérer une ligne et des colonnes vides boîte de dialogue, choisissez Lignes vides option de la Insérer le type, puis spécifiez le nombre d'intervalle et de lignes vides que vous souhaitez utiliser comme capture d'écran suivante:

4. Puis clique OK bouton, et les lignes vides ont été insérées dans la plage sélectionnée à un intervalle spécifique comme illustré ci-dessous:

Téléchargez et essayez gratuitement Kutools for Excel Now!


Copiez et insérez des lignes plusieurs fois en fonction de nombres spécifiques avec le code VBA

Supposons que vous ayez une plage de tada et que vous souhaitiez maintenant copier chaque ligne et les coller plusieurs fois sur la ligne suivante en fonction d'une liste de nombres comme ci-dessous les captures d'écran. Comment pourrait résoudre cette tâche dans une feuille de calcul Excel?

Pour faire face à ce travail, je vais vous présenter un code utile, veuillez suivre les étapes suivantes:

1. Maintenez le ALT + F11 clés dans Excel, et il ouvre le Microsoft Visual Basic pour applications fenêtre.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Fenêtre du module.

Code VBA: copiez et insérez des lignes plusieurs fois en fonction de nombres spécifiques:

Sub CopyRows()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xCRg As Range
Dim xFNum As Integer
Dim xRN As Integer
On Error Resume Next
SelectRange:
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the list of numbers to copy the rows based on: ", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub

If xRg.Columns.Count > 1 Then
MsgBox "Please select single column!"
GoTo SelectRange
End If
Application.ScreenUpdating = False
For xFNum = xRg.Count To 1 Step -1
Set xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.Value)
With Rows(xCRg.Row)
.Copy
.Resize(xRN).Insert
End With
Next
Application.ScreenUpdating = True
End Sub

3. Après avoir collé ce code, appuyez sur F5 clé pour exécuter ce code, dans la boîte de dialogue qui apparaît, sélectionnez la liste des nombres que vous souhaitez copier et insérez les lignes de données en fonction, voir capture d'écran:

4. Puis clique OK bouton, et le nombre spécifique de lignes a été copié et collé sous chaque ligne d'origine, voir les captures d'écran:


Copiez et insérez des lignes plusieurs fois en fonction de nombres spécifiques avec une fonctionnalité étonnante

Si vous avez Kutools pour Excel, Avec son Dupliquer des lignes / colonnes en fonction de la valeur de la cellule fonctionnalité, vous pouvez insérer les lignes ou les colonnes en fonction de la liste de nombres rapidement et facilement.

Remarque :Appliquer cette Dupliquer des lignes / colonnes en fonction de la valeur de la cellule, tout d'abord, vous devez télécharger le Kutools pour Excel, puis appliquez la fonction rapidement et facilement.

Après l'installation de Kutools pour Excel, procédez comme suit:

1Cliquez sur Kutools > insérer > Dupliquer des lignes / colonnes en fonction de la valeur de la cellule, voir capture d'écran:

2. Dans le Copier et insérer des lignes et des colonnes boîte de dialogue, sélectionnez Copier et insérer des lignes option dans la Catégorie section, puis sélectionnez la plage de données que vous souhaitez dupliquer, puis spécifiez la liste des valeurs sur lesquelles vous souhaitez copier les lignes, voir capture d'écran:

4. Puis clique Ok or Appliquer bouton, vous obtiendrez le résultat suivant selon vos besoins:

Téléchargez et essayez gratuitement Kutools for Excel Now!

Articles plus relatifs:

  • Copier et insérer une ligne plusieurs fois ou dupliquer la ligne X fois
  • Dans votre travail quotidien, avez-vous déjà essayé de copier une ligne ou chaque ligne, puis de l'insérer plusieurs fois sous la ligne de données actuelle dans une feuille de calcul? Par exemple, j'ai une plage de cellules, maintenant, je veux copier chaque ligne et les coller 3 fois sur la ligne suivante comme illustré ci-dessous. Comment pourriez-vous gérer ce travail dans Excel?
  • Insérer des lignes vides lorsque la valeur change dans Excel
  • Supposons que vous ayez une plage de données et que vous souhaitiez maintenant insérer des lignes vides entre les données lorsque la valeur change, afin de pouvoir séparer les mêmes valeurs séquentielles dans une colonne comme les captures d'écran suivantes. Dans cet article, je vais vous parler de quelques astuces pour résoudre ce problème.
  • Copier des lignes de plusieurs feuilles de calcul en fonction de critères dans une nouvelle feuille
  • Supposons que vous ayez un classeur avec trois feuilles de calcul qui ont la même mise en forme que la capture d'écran ci-dessous. Maintenant, vous voulez copier toutes les lignes de ces feuilles de calcul dont la colonne C contient le texte «Terminé» dans une nouvelle feuille de calcul. Comment pouvez-vous résoudre ce problème rapidement et facilement sans les copier et les coller un par un manuellement?

Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (36)
Noté 5 hors 5 · évaluations 1
Ce commentaire a été minimisé par le modérateur sur le site
Salut, j'utilise votre code (ci-dessous) pouvez-vous s'il vous plaît me dire comment remplir ces lignes avec du texte personnalisé. J'ai utilisé votre code pour entrer trois lignes, cela a parfaitement fonctionné, mais maintenant je dois entrer le texte Row1 = Date Row2.= Emplacement Row3 = Numéro de téléphone Merci d'avance... "Sub InsertRowsAtIntervals() 'Updateby20150707 Dim Rng As Range Dim xInterval As Integer Dim xRows As Integer Dim xRowsCount As Integer Dim xNum1 As Integer Dim xNum2 As Integer Dim WorkRng As Range Dim xWs As Worksheet xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId , WorkRng.Address, Type :=8) xRowsCount = WorkRng.Rows.Count xInterval = Application.InputBox("Entrez l'intervalle de ligne. ", xTitleId, 1, Type :=1) xRows = Application.InputBox("Combien de lignes insérer à chaque intervalle ?", xTitleId, 1, Type :=1) xNum1 = WorkRng.Row + xInterval xNum2 = xRows + xInterval Set xWs = WorkRng.Parent For i = 1 To Int(xRowsCount / xInterval) xWs.Range(xWs .Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column)).Select Application.Selection.EntireRow.Insert xNum1= xNum1 + xNum2 Sous-titre suivant de fin"
Ce commentaire a été minimisé par le modérateur sur le site
merci beaucoup!!!!! Ceci est incroyable
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup!!
Ce commentaire a été minimisé par le modérateur sur le site
Hi


J'utilise le code vba d'intervalle qui fonctionne..Mais lorsque j'utilise plus de 100000 XNUMX lignes, cela ne fonctionne pas.


Sous InsertRowsAtIntervals()
'Mise à jour du 20150707
Dim Rng As Range
Dim xInterval As Integer
Dim xRows As Integer
Dim xRowsCount As Integer
Dim xNum1 en tant qu'entier
Dim xNum2 en tant qu'entier
Dim WorkRng As Range
Feuille de travail Dim xWs As
xTitleId = "KutoolsforExcel"
Définir WorkRng = Application.Selection
Définir WorkRng = Application.InputBox("Plage", xTitleId, WorkRng.Address, Type :=8)
xRowsCount = WorkRng.Rows.Count
xInterval = Application.InputBox("Entrez l'intervalle de ligne. ", xTitleId, 1, Type:=1)
xRows = Application.InputBox("Combien de lignes insérer à chaque intervalle ? ", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Row + xInterval
xNum2 = xLignes + xIntervalle
Définir xWs = WorkRng.Parent
Pour i = 1 Vers Int(xRowsCount / xInterval)
xWs.Range(xWs.Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column)).Select
Application.Selection.EntireRow.Insert
xNum1 = xNum1 + xNum2
Suivant
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Fantastique - vous m'avez épargné beaucoup de saisies de données insensées, merci beaucoup
Ce commentaire a été minimisé par le modérateur sur le site
salut comment puis-je obtenir le code pour Insérer un nombre spécifique de colonnes dans les données à intervalles fixes
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour PK,
Pour insérer des colonnes vides dans des données existantes à des intervalles spécifiques, le code VBA ci-dessous peut vous aider ! Essayez-le.

Sous InsertColumnsAtIntervals()
Dim Rng As Range
Dim xInterval As Integer
Dim xCs en tant qu'entier
Dim xCCount comme entier
Dim xNum1 en tant qu'entier
Dim xNum2 en tant qu'entier
Dim WorkRng As Range
Feuille de travail Dim xWs As
xTitleId = "KutoolsforExcel"
Définir WorkRng = Application.Selection
Définir WorkRng = Application.InputBox("Plage", xTitleId, WorkRng.Address, Type :=8)
xCCount = WorkRng.Columns.Count
xInterval = Application.InputBox("Entrez l'intervalle de colonne. ", xTitleId, 1, Type:=1)
xCs = Application.InputBox("Combien de colonnes insérer à chaque intervalle ? ", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Column + xInterval
xNum2 = xCs + xIntervalle
Définir xWs = WorkRng.Parent
Pour I = 1 To Int(xCCount / xInterval)
xWs.Range(xWs.Cells(WorkRng.Row, xNum1 + xCs - 1), xWs.Cells(WorkRng.Row, xNum1)).Select
Application.Selection.EntireColumn.Insert
xNum1 = xNum1 + xNum2
Suivant
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Comment ajouter des lignes dans les données Excel selon le numéro mentionné dans la dernière cellule, par exemple dans une donnée Excel si la dernière cellule affiche le numéro 4, quelle est la manière de dd 4 lignes automatiquement. dans une autre ligne, le numéro est 72, etc.
Ce commentaire a été minimisé par le modérateur sur le site
Salut SPGupta,
Pour insérer des lignes vides basées sur une liste de numéros spécifique, veuillez appliquer le code VBA ci-dessous.
S'il vous plaît essayez, j'espère que cela peut vous aider!

Sous-insertion()
'Mettre à jour parExtendoffice
Dim xRg As Range
Dim xAddress As String
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Sélectionnez la colonne de numéro spécifique à utiliser (colonne unique):", "KuTools For Excel", xAddress, , , , , 8)
Si xRg n'est rien, quittez Sub
Application.ScreenUpdating = Faux
xLastRow = xRg(1).End(xlDown).Row
xFstLigne = xRg.Ligne
xCol = xRg.Colonne
xCount = xRg.Count
Fixer xRg = xRg(1)
Pour I = xLastRow To xFstRow Step -1
xNum = Cellules(I, xCol)
Si EstNumérique(xNum) Et xNum > 0 Alors
Lignes(I + 1).Redimensionner(xNum).Insérer
xCompte = xCompte + xNum
Si fin
Suivant
xRg.Resize(xCount, 1).Select
Application.ScreenUpdating = True
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Salut, pourriez-vous m'aider, s'il vous plaît? Comment puis-je modifier ce code pour ajouter une ligne de moins que le nombre dans la cellule ? Par exemple, si le nombre dans la cellule est 4, le programme ajoute 3 lignes. Si le nombre dans la cellule est 1, les lignes ne sont pas ajoutées
Ce commentaire a été minimisé par le modérateur sur le site
Salut Nina,
Pour résoudre votre tâche, veuillez utiliser le code ci-dessous :

Sous-insertion()
'Mettre à jour parExtendoffice
Dim xRg As Range
Dim xAddress As String
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Sélectionnez la colonne de numéro spécifique à utiliser (colonne unique):", "KuTools For Excel", xAddress, , , , , 8)
Si xRg n'est rien, quittez Sub
Application.ScreenUpdating = Faux
xLastRow = xRg(1).End(xlDown).Row
xFstLigne = xRg.Ligne
xCol = xRg.Colonne
xCount = xRg.Count
Fixer xRg = xRg(1)
Pour I = xLastRow To xFstRow Step -1
xNum = Cellules(I, xCol)
xNum = xNum - 1
Si EstNumérique(xNum) Et xNum > 0 Alors
Lignes(I + 1).Redimensionner(xNum).Insérer
xCompte = xCompte + xNum
Si fin
Suivant
xRg.Resize(xCount, 1).Select
Application.ScreenUpdating = True
End Sub


S'il vous plaît essayez, j'espère que cela peut vous aider!
Ce commentaire a été minimisé par le modérateur sur le site
Cela fonctionne parfaitement, merci beaucoup !
Ce commentaire a été minimisé par le modérateur sur le site
C'est bien. Je me demande juste... et mon anglais n'est pas parfait donc j'espère que vous me comprendrez :) .....
Est-il possible de remplir les lignes vides ajoutées avec les valeurs de la ligne où se trouvait ce nombre paramétrique ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Vladimir, Voulez-vous dire insérer des lignes vides basées sur une liste de nombres dans la feuille de calcul ? Si oui, veuillez appliquer le code ci-dessous :
Sous-insertion()
'Mettre à jour parExtendoffice
Dim xRg As Range
Dim xAddress As String
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Sélectionnez la liste des nombres sur lesquels vous souhaitez insérer des lignes en fonction de :", "KuTools For Excel", xAddress, , , , , 8)
Si xRg n'est rien, quittez Sub
Application.ScreenUpdating = Faux
xLastRow = xRg(1).End(xlDown).Row
xFstLigne = xRg.Ligne
xCol = xRg.Colonne
xCount = xRg.Count
Fixer xRg = xRg(1)
Pour I = xLastRow To xFstRow Step -1
xNum = Cellules(I, xCol)
Si EstNumérique(xNum) Et xNum > 0 Alors
Lignes(I + 1).Redimensionner(xNum).Insérer
xCompte = xCompte + xNum
Si fin
Suivant
xRg.Resize(xCount, 1).Select
Application.ScreenUpdating = True
End SubS'il vous plaît essayez-le, si vous avez d'autres questions, veuillez commenter ici.
Ce commentaire a été minimisé par le modérateur sur le site
Ce code est parfait pour insérer des lignes....Sub Insert()
'Mettre à jour parExtendoffice
Dim xRg As Range
Dim xAddress As String
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Sélectionnez la colonne de numéro spécifique à utiliser (colonne unique):", "KuTools For Excel", xAddress, , , , , 8)
Si xRg n'est rien, quittez Sub
Application.ScreenUpdating = Faux
xLastRow = xRg(1).End(xlDown).Row
xFstLigne = xRg.Ligne
xCol = xRg.Colonne
xCount = xRg.Count
Fixer xRg = xRg(1)
Pour I = xLastRow To xFstRow Step -1
xNum = Cellules(I, xCol)
xNum = xNum - 1
Si EstNumérique(xNum) Et xNum > 0 Alors
Lignes(I + 1).Redimensionner(xNum).Insérer
xCompte = xCompte + xNum
Si fin
Suivant
xRg.Resize(xCount, 1).Select
Application.ScreenUpdating = True
End Sub

Mais est-il possible... de copier les données dans ces cellules vides à partir de la ligne où se trouvait ce nombre paramétrique ? Puis-je poster ici une photo? C'est peut-être plus facile si je vous montre ce dont j'ai besoin :)
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Vladimir, Peut-être que le code VBA ci-dessous peut vous aider, veuillez l'essayer. Sous CopyRow()
'Mettre à jour parExtendoffice
Dim xRg As Range
Dim xCRg As Range
Dim xFNum en tant qu'entier
Dim xRN en tant qu'entier
On Error Resume Next
SélectionnerPlage :
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Sélectionnez la liste de numéros", "Kutools for Excel", xTxt, , , , , 8)
Si xRg n'est rien, quittez Sub

Si xRg.Columns.Count > 1 Alors
MsgBox "Veuillez sélectionner une seule colonne !"
GoTo SelectRange
Si fin
Application.ScreenUpdating = Faux
Pour xFNum = xRg.Count To 1 Step -1
Définir xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.Valeur)
Avec des lignes (xCRg.Row)
.Copie
.Redimensionner(xRN).Insérer
Terminer par
Suivant
Application.ScreenUpdating = True
End Sub

Ce commentaire a été minimisé par le modérateur sur le site
Nous sommes si proches :) Tout ce dont j'ai besoin maintenant est d'une ligne de moins que dans le dernier code VBA, que la valeur du nombre paramétrique. Par exemple : si le nombre est 8, nous devons insérer et copier 7 lignes. Comme tu l'as fait pour Nina juste avec cette COPIE
Donc, si le nombre est 8, nous devrions avoir un total de 8 lignes insérées et copiées, et avec le code VBA précédent, nous en avons 9.
Tnx
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Dans ce cas, le code suivant peut vous aider, veuillez essayer : Sous CopieDonnées()
'Mettre à jour par Extendoffice
Dim xRow As Long
Dim VInSertNum As Variant
xLigne = 1
Application.ScreenUpdating = Faux
Faire tant que (Cellules(xRow, "A") <> "")
VInSertNum = Cells(xRow, "B")
Si ((VInSertNum > 1) Et EstNumérique(VInSertNum)) Alors
Plage(Cellules(xRow, "A"), Cellules(xRow, "B")).Copier
Range(Cells(xRow + 1, "A"), Cells(xRow + VInSertNum - 1, "B")).Select
Selection.Insert Shift: = xlDown
xRow = xRow + VInSertNum - 1
Si fin
xLigne = xLigne + 1
boucle
Application.ScreenUpdating = Faux
End SubNote : Dans le code ci-dessus, la lettre A indique la colonne de début de votre plage de données et la lettre B est la lettre de colonne sur laquelle vous souhaitez dupliquer les lignes. Veuillez les modifier selon vos besoins.
Ce commentaire a été minimisé par le modérateur sur le site
Avez-vous un module qui déduit de un le nombre copié ?
Ce commentaire a été minimisé par le modérateur sur le site
Non. J'ai celui-ci, mais j'en ai besoin pour déduire 1 ?
Sous CopyRow()
'Mettre à jour parExtendoffice
Dim xRg As Range
Dim xCRg As Range
Dim xFNum en tant qu'entier
Dim xRN en tant qu'entier
On Error Resume Next
SélectionnerPlage :
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Sélectionnez la liste de numéros", "Kutools for Excel", xTxt, , , , , 8)
Si xRg n'est rien, quittez Sub

Si xRg.Columns.Count > 1 Alors
MsgBox "Veuillez sélectionner une seule colonne !"
GoTo SelectRange
Si fin
Application.ScreenUpdating = Faux
Pour xFNum = xRg.Count To 1 Step -1
Définir xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.Valeur)
Avec des lignes (xCRg.Row)
.Copie
.Redimensionner(xRN).Insérer
Terminer par
Suivant
Application.ScreenUpdating = True
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Ce que j'essaie de faire, c'est de créer et d'imprimer des étiquettes dans Word à partir d'une feuille de calcul avec plusieurs quantités ?
Ce commentaire a été minimisé par le modérateur sur le site
Avez-vous eu l'occasion de regarder cela?
Ce commentaire a été minimisé par le modérateur sur le site
L'or vous bénisse
Ce commentaire a été minimisé par le modérateur sur le site
Vous recherchez du code pour générer une liste Excel en dupliquant par un nombre dans une cellule et en soustrayant 1 pour l'original ?
Ce commentaire a été minimisé par le modérateur sur le site
Merci auteur! Vous méritez les meilleures félicitations pour ceux-ci ! Mais s'il vous plaît, pourriez-vous m'aider avec le code pour mettre une valeur constante dans toutes les lignes vides que j'ai créées avec votre code ci-dessus ? Pour être plus clair, je dois insérer une valeur constante dans toutes les lignes vides (cela a déjà été résolu avec votre code ci-dessus), puis je dois insérer une valeur constante dans toutes les lignes vides (c'est mon problème). Merci car j'attends votre aimable réponse.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Voulez-vous dire remplir des lignes vides avec une valeur spécifique ? Si oui, peut-être que l'article suivant peut vous aider :https://www.extendoffice.com/documents/excel/772-excel-fill-blank-cells-with-0-or-specific-value.html
Essayez-le.
Ce commentaire a été minimisé par le modérateur sur le site
Puis-je obtenir le code VBA pour la suppression de lignes basées sur des valeurs en double dans une colonne sélectionnée en conservant toutes les valeurs uniques ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Roy, Si vous souhaitez supprimer des lignes basées sur des valeurs en double, normalement, vous pouvez utiliser le Supprimer les doublons fonctionnalité dans Excel pour supprimer les lignes.Bien sûr, si vous avez besoin d'un code VBA, veuillez utiliser le code ci-dessous : (Tout d'abord, vous devez sélectionner la plage de données que vous souhaitez supprimer, puis exécuter ce code, les lignes basées sur le les valeurs en double dans la première colonne de votre sélection seront immédiatement supprimées. ) Sous Delete_duplicate_rows()
Dim Rng As Range
Définir Rng = Sélection
Rng.RemoveDuplicates Columns :=Array(1), Header :=xlYes
End SubVeuillez essayer, j'espère que cela pourra vous aider !
Ce commentaire a été minimisé par le modérateur sur le site
C'est trop cool!! Merci beaucoup
Ce commentaire a été minimisé par le modérateur sur le site
Muito obrigado, salvou meu trabalho, eu não tinha ideia de como fazer. Muito obrigado mesmo !
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,
Je vous en prie. Heureux que cela aide. Des questions, n'hesitez pas a nous contacter. Passe une bonne journée.
Sincèrement,
Mandy
Ce commentaire a été minimisé par le modérateur sur le site
pouvez-vous me dire comment insérer une colonne comme celle-ci, quel est le code
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour ami,
Vous pouvez utiliser ce code VBA :

Sub InsertColumnsAtIntervals()

'Updateby Extendoffice

Dim Rng As Range

Dim xInterval As Integer

Dim xColumns As Integer

Dim xColumnsCount As Integer

Dim xNum1 As Integer

Dim xNum2 As Integer

Dim WorkRng As Range

Dim xWs As Worksheet

xTitleId = "KutoolsforExcel"

Set WorkRng = Application.Selection

Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)

xColumnsCount = WorkRng.Columns.Count

xInterval = Application.InputBox("Enter column interval. ", xTitleId, 1, Type:=1)

xColumns = Application.InputBox("How many columns to insert at each interval? ", xTitleId, 1, Type:=1)

xNum1 = WorkRng.Column + xInterval

xNum2 = xColumns + xInterval

Set xWs = WorkRng.Parent

For i = 1 To Int(xColumnsCount / xInterval)

    xWs.Range(xWs.Cells(WorkRng.Row, xNum1), xWs.Cells(WorkRng.Row, xNum1 + xColumns - 1)).Select

    Application.Selection.EntireColumn.Insert

    xNum1 = xNum1 + xNum2

Next

End Sub


Sincèrement,
Mandy
Ce commentaire a été minimisé par le modérateur sur le site
Вот выручили так выручили!
Сидел, ломал голову как добавить строки по заданному количеству.
Ваш макрос мне очень помог.
Noté 5 hors 5
Ce commentaire a été minimisé par le modérateur sur le site
Nom E-mail Téléphone Adresse
0 Nom E-mail Téléphone Adresse
adresse ligne 2 Nom Téléphone 0
Nom E-mail Téléphone Adresse
0 Nom E-mail Téléphone Adresse
adresse ligne 2 0


Comment puis-je modifier ceci pour démarrer une nouvelle ligne à chaque valeur vide ou valeur 0 sans que les numéros de téléphone avec 0 ne commencent une nouvelle ligne ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Jarrod

Désolé, je n'arrive pas à comprendre clairement votre problème.
Pourriez-vous expliquer votre problème plus en détail? Ou vous pouvez insérer une capture d'écran ou un fichier ici.
Merci !
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés