EXCEL copier les lignes par un multiplicateur
Résolu
RGCQ
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
RGCQ Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
RGCQ Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Nous avons présentement une liste EXCEL qui contient près de 300 lignes. Chacune des lignes doivent être copier le nombre de fois qui est inscrit dans la colonne I de chaque ligne. Nous souhaitons que ces données soient copiés dans un 2e onglet ou carrément dans un second fichier.
Est-ce que je dois utiliser une macro ou une formule ? J'espère simplement que la solution n'est pas de faire le travail manuellement :(
Merci de votre aide !
Nous avons présentement une liste EXCEL qui contient près de 300 lignes. Chacune des lignes doivent être copier le nombre de fois qui est inscrit dans la colonne I de chaque ligne. Nous souhaitons que ces données soient copiés dans un 2e onglet ou carrément dans un second fichier.
Est-ce que je dois utiliser une macro ou une formule ? J'espère simplement que la solution n'est pas de faire le travail manuellement :(
Merci de votre aide !
A voir également:
- EXCEL copier les lignes par un multiplicateur
- Liste déroulante excel - Guide
- Excel trier par ordre croissant chiffre - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Comment copier une vidéo youtube - Guide
3 réponses
Bonjour,
avec une petite macro
mais la première ligne de la feuille2 ne doit pas être vide (étiquettes comme par ex: prénom, nom, sexe, province...)
tite démo
https://www.cjoint.com/?3Itq0MpMZyg
Michel
avec une petite macro
mais la première ligne de la feuille2 ne doit pas être vide (étiquettes comme par ex: prénom, nom, sexe, province...)
Option Explicit Sub dupliquer_n_fois() Dim Derlig1 As Long, Lig As Long, Nbre As Integer, T_in() Dim Derlig2 As Long Application.ScreenUpdating = False Sheets(2).Range("A2:D30000").Clear With Sheets(1) Derlig1 = .Columns("A").Find("*", , , , , xlPrevious).Row For Lig = 2 To Derlig1 Nbre = .Cells(Lig, "E") T_in = .Range(.Cells(Lig, "A"), .Cells(Lig, "D")).Value With Sheets(2) Derlig2 = .Columns("A").Find("", .Range("A1")).Row .Cells(Derlig2, "A").Resize(Nbre, 4) = T_in End With Next End With Sheets(2).Select End Sub
tite démo
https://www.cjoint.com/?3Itq0MpMZyg
Michel
Bonjour M. Pentier,
Effectivement le travail sera à effectuer périodiquement alors nous devons trouver une solution automatisée.
Voici un exemple
A B C D E
Clement Bachand Homme Quebec 3
Marcel Leboeuf Homme Quebec 12
Mireille Dupuis Femme Quebec 5
Helene Dejoux Femme Quebec 45
Robert Guindon Homme Quebec 67
Bruno Fabien Homme Quebec 1
Laurent Hebert Homme Quebec 9
Patrick Juste Homme Quebec 34
Dans ce cas, la colonne E donne le nombre de fois à copier la ligne.
Pouvez-vous m'aider ?
Effectivement le travail sera à effectuer périodiquement alors nous devons trouver une solution automatisée.
Voici un exemple
A B C D E
Clement Bachand Homme Quebec 3
Marcel Leboeuf Homme Quebec 12
Mireille Dupuis Femme Quebec 5
Helene Dejoux Femme Quebec 45
Robert Guindon Homme Quebec 67
Bruno Fabien Homme Quebec 1
Laurent Hebert Homme Quebec 9
Patrick Juste Homme Quebec 34
Dans ce cas, la colonne E donne le nombre de fois à copier la ligne.
Pouvez-vous m'aider ?
Une formule ?
Elle risque d'être aussi compliquée que la macro, surtout si ce travail est à refaire chaque fois que la liste des 300 lignes est modifiée ...
Mais la méthode manuelle n'est pas à écarter, finalement !
Tu m'envoies le travail à faire, et je te dis en combien de minutes je l'ai réalisé ...
Cordialement.
Elle risque d'être aussi compliquée que la macro, surtout si ce travail est à refaire chaque fois que la liste des 300 lignes est modifiée ...
Mais la méthode manuelle n'est pas à écarter, finalement !
Tu m'envoies le travail à faire, et je te dis en combien de minutes je l'ai réalisé ...
Cordialement.
J'ai fait les petite modifications nécessaires avec ma liste dans le code de votre fichier et il fonctionne à merveille.
Je ne sais pas comment je pourrais vous remercier pour cet aide qui me sauvera plusieurs longues heures de travail, mais sachez que ma gratitude est sans fin.
Veuillez passer une agréable fin de journée !