Comment dupliquer des lignes en fonction de la valeur d'une cellule dans une colonne ?
Lorsque vous travaillez avec des tableaux de données Excel, vous pourriez parfois avoir besoin de dupliquer des lignes entières en fonction d'une valeur dans une colonne spécifique. Par exemple, imaginez que vous avez un tableau où la colonne D indique un nombre, et votre objectif est de copier ou d'insérer chaque ligne autant de fois que la valeur correspondante dans la colonne D. Cela peut être utile pour l'expansion des données, la préparation de jeux de données pour les tests, la simulation d'inventaire, ou la génération de lignes de commandes répétées. Réaliser cela efficacement sans répétition manuelle aide à maintenir l'intégrité des données et accélère considérablement le flux de travail, surtout pour les grands tableaux.
![]() | ![]() | ![]() |
Dupliquer des lignes plusieurs fois en fonction des valeurs des cellules avec du code VBA
Dupliquer des lignes via une transformation Power Query
Dupliquer des lignes plusieurs fois en fonction des valeurs des cellules avec du code VBA
Si vous devez rapidement créer des doublons de lignes entières en fonction des valeurs dans une colonne spécifique (par exemple, dans la colonne D), VBA offre une solution directe et efficace. Cette approche est particulièrement précieuse lors de la manipulation de grands ensembles de données, car elle automatise le processus et aide à garantir l'exactitude. Cependant, travailler avec VBA nécessite une connaissance de base de l'onglet Développeur d'Excel et une compréhension de la manière d'exécuter des macros. Le principal avantage est la flexibilité : le code peut être ajusté pour s'adapter à différentes plages ou colonnes cibles. En revanche, si vous n'êtes pas à l'aise avec VBA ou si les politiques de sécurité bloquent les macros dans votre environnement, envisagez l'une des solutions alternatives ci-dessous.
1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic for Applications.
2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.
Code VBA : Dupliquer des lignes plusieurs fois en fonction de la valeur d'une cellule :
Sub CopyData()
'Updateby Extendoffice
Dim xRow As Long
Dim VInSertNum As Variant
xRow = 1
Application.ScreenUpdating = False
Do While (Cells(xRow, "A") <> "")
VInSertNum = Cells(xRow, "D")
If ((VInSertNum > 1) And IsNumeric(VInSertNum)) Then
Range(Cells(xRow, "A"), Cells(xRow, "D")).Copy
Range(Cells(xRow + 1, "A"), Cells(xRow + VInSertNum - 1, "D")).Select
Selection.Insert Shift:=xlDown
xRow = xRow + VInSertNum - 1
End If
xRow = xRow + 1
Loop
Application.ScreenUpdating = False
End Sub
3. Appuyez ensuite sur la touche F5 pour exécuter ce code. Les lignes entières seront dupliquées plusieurs fois en fonction de la valeur de la cellule dans la colonne D, répondant ainsi à vos besoins.
Copier et insérer des lignes en fonction d'un nombre spécifié de fois avec un outil pratique - Kutools pour Excel
Si vous préférez une méthode sans utiliser de code, ou si vous souhaitez une interface conviviale pour gérer la duplication en lot, Kutools pour Excel propose une solution pratique. Sa fonction Dupliquer des lignes/colonnes en fonction de la valeur d'une cellule vous permet de copier et d'insérer rapidement des lignes en fonction du nombre spécifié dans les cellules concernées. Cela est idéal pour ceux qui effectuent régulièrement de telles opérations de duplication et ont besoin d'un processus visuel et personnalisable. Kutools conserve la mise en page et la mise en forme du tableau d'origine lors de la duplication, réduisant ainsi le risque d'erreurs accidentelles. Cette méthode fonctionne sans problème, quel que soit votre expérience avec VBA, et améliore considérablement l'efficacité pour les plages de données moyennes à grandes.
- Cliquez sur Kutools > Insérer > Dupliquer des lignes/colonnes en fonction de la valeur d'une cellule pour activer cette fonctionnalité ;
- Ensuite, choisissez l'option Copier et insérer des lignes, et spécifiez séparément les cellules de la plage d'insertion et du nombre de répétitions dans la boîte de dialogue. Confirmez vos choix et cliquez sur OK.
Dupliquer des lignes via une transformation Power Query
Power Query fournit une solution robuste et reproductible pour dupliquer des lignes en fonction d'une valeur de colonne - idéale pour les grands tableaux ou lorsque vous devez actualiser les données fréquemment. En utilisant cet outil, vous pouvez développer des lignes selon des indicateurs numériques sans formules ni code. Cette méthode convient bien aux utilisateurs qui souhaitent un processus visuellement explicatif, étape par étape, et ont besoin de reproductibilité avec les mises à jour futures des données.
1. Ajoutez vos données à un tableau Excel (sélectionnez la plage et appuyez sur Ctrl+T). Allez dans Données > À partir du tableau/plage pour charger votre tableau dans Power Query.
2. Dans l'Éditeur Power Query, sélectionnez l'onglet Ajouter une colonne et cliquez sur Colonne personnalisée.
3. Tapez la formule suivante pour générer une liste pour chaque ligne en fonction de la valeur dans la colonne D. ( Remarque : Vous devez remplacer [D] par votre véritable en-tête de colonne. Par exemple, ici, je sélectionnerai les Temps de duplication et cliquerai sur le bouton Insérer pour remplacer l'argument [D].)
List.Repeat({1}, [D])
4. Cliquez sur le bouton Développer à côté de la nouvelle colonne personnalisée et cliquez sur Développer vers de nouvelles lignes.
5. Ensuite, vous pouvez voir que les données ont été dupliquées en fonction des valeurs dans la colonne D, voir la capture d'écran :
6. Supprimez les colonnes d'aide si nécessaire, et cliquez sur Fermer et charger pour retourner les données à Excel.
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification 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é de50 %, et réduit des centaines de clics de souris pour vous chaque jour !