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   -
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 !

3 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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...)
    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
    3
    1. RGCQ Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci infiniement Michel_m !

      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 !
      0
  2. RGCQ Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
     
    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 ?
    0
  3. Raymond PENTIER Messages postés 58226 Date d'inscription   Statut Contributeur Dernière intervention   17 490
     
    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.
    -3