Copier coller en fonction du nombre de repetition associée

Bonjour à tous,

Je souhaite créer une macro pour copier coller une valeur texte (Summary_plaques; à partir de B2) en fonction de la valeur de répétition associée (Summary_plaques; à partir de C2) dans un autre onglet (Summary_data; à partir de C2)

Une fois la valeur B2 copier/coller le nombre de fois de C2, alors l'action s'enchaine sur la ligne B3/C3 et ainsi de suite.

J'en suis arrivée a un "code" assez peu élégant qui me crée une boucle infinie ...

Merci pour votre aide,

HB

Sub transfert_code_gelose()

Dim compteur As Integer
Dim numero As Integer
Dim row As Integer
Dim column As Integer
Dim gelose As Integer

gelose = 2
column = 3
row = 2

    Do Until Worksheets("Summary_plaques").Cells(gelose, 3).Value = ""
    Worksheets("Summary_plaques").Cells(gelose, 3).Value = compteur
    numero = 1
        Do Until numero = compteur
        Worksheets("Summary_plaques").Cells(gelose, 2).Copy
        Worksheets("Summary_data").Cells(row, 3).PasteSpecial Paste:=xlPasteValues
        row = row + 1
        numero = numero + 1
        Loop
    gelose = gelose + 1
    Loop

End Sub

Bonjour Hortense, bonjour le forum,

Essaie comme ça :

Sub Macro1()
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
Dim I As Integer 'déclare la variable I (Incrément)

Set OS = Worksheets("Summary_plaques") 'définit l'onglet source OS
Set OD = Worksheets("Summary_data") 'définit l'onglet destination OD
DL = OS.Cells(Application.Rows.Count, "C").End(xlUp).row 'définit la dernière ligne éditée DL de la colonne C de l'onglet source OS
For I = 2 To DL 'boucle sur toutes les lignes I de 2 à DL
    Set DEST = OD.Cells(Application.Rows.Count, "C").End(xlUp).Offset(1, 0) 'définit la cellule de destination DEST dans l'onglet destination
    DEST.Resize(OS.Cells(I, "C"), 1).Value = OS.Cells(I, "B").Value 'renvoie dans DEST redimensionnée la valeur de la cellule ligne I colonne B de l'onglet OS
Next I 'prochaine ligne de la boucle
End Sub

Un grand merci c'est parfaitement fonctionnel !

Un poil déconcertant d'avoir une réponse en moins de 20 minutes alors que j'y ai passé un bout de temps ^^

Encore merci,

Hortense

Rechercher des sujets similaires à "copier coller fonction nombre repetition associee"