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, il peut parfois être nécessaire 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 de 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 la 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 d’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 contribue à garantir l’exactitude. Toutefois, travailler avec VBA nécessite une certaine familiarité avec 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 Copier ou insérer des lignes/colonnes en fonction des données spécifiées permet de copier et d'insérer rapidement des lignes selon le nombre spécifié dans les cellules concernées. C'est idéal pour ceux qui effectuent régulièrement de telles opérations répétitives de lignes et ont besoin d'un processus plus 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 en douceur quel que soit votre niveau d'expérience avec VBA et améliore considérablement l'efficacité pour les plages de données moyennes à grandes.
- Cliquez sur Kutools > Insérer > Copier ou insérer des lignes/colonnes en fonction des données spécifiées 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 les Nombre de répétitions dans la boîte de dialogue. Confirmez vos choix et cliquez sur OK.
Dupliquer des lignes via la transformation Power Query
Power Query fournit une solution robuste et reproductible pour dupliquer des lignes en fonction de la valeur d'une colonne — idéal pour les grands tableaux ou lorsque vous devez rafraîchir les données fréquemment. En utilisant cet outil, vous pouvez développer les lignes en fonction des indicateurs numériques sans formules ni code. Cette méthode fonctionne bien pour les utilisateurs qui souhaitent un processus visuellement explicatif, étape par étape, et qui ont besoin de reproductibilité avec des mises à jour futures des données.
1. Ajoutez vos données à une Table Excel (sélectionnez la plage et appuyez sur Ctrl+T). Allez dans Données > À partir de la table/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 Duplicate Times 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 de la colonne D, voir capture d'écran :
6. Supprimez les colonnes d'aide si nécessaire, puis cliquez sur Fermer et charger pour retourner les données dans Excel.
Meilleurs outils de productivité Office
Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...
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, au lieu d’ouvrir de nouvelles fenêtres.
- Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!