Copier/coller autant de fois qu'une celulle l'indique

Résolu
Monsieur_Malik Messages postés 19 Statut Membre -  
Monsieur_Malik Messages postés 19 Statut Membre -
bonjours mon problème est tout simple j'ai un tableau et je voudrais simplement que si b2 = 50 par exemple qu'il me copie la valeur 50 50 fois sur les autres ligne c'est a dire c2 d2 etc.
merci d'avance pour votre aide

2 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonjour,

    regarde comme cela voir si c'est ce que tu cherches

    Option Explicit

    Sub Copier_Coller_X_Fois()
    Dim Val, Cop As Integer
    Val = Range("B2").Value
    Range("B2").Copy
    With ActiveSheet
    For Cop = 1 To Val
    .Paste Destination:=.Range("B2").Offset(0, Cop)
    Next Cop
    End With
    Application.CutCopyMode = False
    End Sub

    0
    1. Monsieur_Malik Messages postés 19 Statut Membre
       
      Merci Mike cependant je rencontre un petit problème avec ton code que je l'adapte a toute la range ("B:B") ça ne marche pas le problèmes est au niveau de " For Cop = 1 To Val".
      Merci
      0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    initialement il s'agissait de copier la cellule B2 autant de fois que la valeur contenue, ce qui change tout
    regarde ce code pour la plage B2 à B100

    Option Explicit

    Sub Copier_Coller_X_Fois()
    Dim Val, Cop As Integer
    For i = 2 To 100
    Val = Cells(i, 2).Value
    Cells(i, 2).Copy
    With ActiveSheet
    For Cop = 1 To Val
    .Paste Destination:=.Cells(i, 2).Offset(0, Cop)
    Next Cop
    End With
    Next i
    Application.CutCopyMode = False
    End Sub

    0
    1. Monsieur_Malik Messages postés 19 Statut Membre
       
      Ok merci beaucoup pour ton aide Mike !
      0
    2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      Re,

      si la plage est plus longue il est possible d'accélérer le déroulement du code avec
      en début de code
      Application.ScreenUpdating = False

      et en fin
      Application.ScreenUpdating = True
      0
    3. Monsieur_Malik Messages postés 19 Statut Membre
       
      super merci Mike !
      0