Macro copier plusieur cellule

bonjour,

voici mon problème ,

j'ai ce code

Private Sub CommandButton1_Click()
Dim ws5 As Worksheet, ws6 As Worksheet   'déclaration des variables feuilles

 Dim x As Long                            'déclaration de la variable colonne

Application.ScreenUpdating = False        'évite le rafraichissement de l'écran à chaque tour de boucle

Set ws5 = Sheets("donnée")              'définit la feuille ws5
Set ws6 = Sheets("resultat")        'définit la feuille ws6

   For x = 2 To 13                        'boucle de la colonne 2 à la colonne 13 (feuille ws6)
       If ws6.Cells(7, x) Like ws5.Range("H2") Then   'si la date de la feuille ws6 correspond à la date de la feuille ws5
          ws6.Cells(7 + 1, x) = ws5.Range("B" & 11) 'le type de ws6 = type de ws5 (+1 car on se décale vers la droite)
          ws6.Cells(7 + 2, x) = ws5.Range("B" & 12)
          ws6.Cells(7 + 3, x) = ws5.Range("B" & 13)
          ws6.Cells(7 + 4, x) = ws5.Range("B" & 14)
          ws6.Cells(7 + 5, x) = ws5.Range("B" & 15)
          ws6.Cells(7 + 6, x) = ws5.Range("B" & 16)

       End If                             'fin de la condition
   Next x                                 'fin de la boucle sur les colonnes de ws6
                                'fin de la boucle sur les lignes de ws5

 Application.ScreenUpdating = True        'on réactive le rafraichissement de l'écran

 End Sub

j aimerais simplifier cette ligne

   
         ws6.Cells(7 + 1, x) = ws5.Range("B" & 11) 'le type de ws6 = type de ws5 (+1 car on se décale vers la droite)
          ws6.Cells(7 + 2, x) = ws5.Range("B" & 12)
          ws6.Cells(7 + 3, x) = ws5.Range("B" & 13)
          ws6.Cells(7 + 4, x) = ws5.Range("B" & 14)
          ws6.Cells(7 + 5, x) = ws5.Range("B" & 15)
          ws6.Cells(7 + 6, x) = ws5.Range("B" & 16)
          

mais je trouve pas la bonne maniere

car ce sont des cellules sur la meme colonne

merci d'avance

Salut westcoast320,

En mettant ça dans ta boucle If ?

For y =1 To 6
    ws6.Cells(7 + y, x) = ws5.Range("B" & 10 + y)
Next y

Bonne soirée,

Baboutz

je suis pas doué en programation je vais voir comment l incorporé merci a toi

Tu remplaces

         ws6.Cells(7 + 1, x) = ws5.Range("B" & 11) 'le type de ws6 = type de ws5 (+1 car on se décale vers la droite)
          ws6.Cells(7 + 2, x) = ws5.Range("B" & 12)
          ws6.Cells(7 + 3, x) = ws5.Range("B" & 13)
          ws6.Cells(7 + 4, x) = ws5.Range("B" & 14)
          ws6.Cells(7 + 5, x) = ws5.Range("B" & 15)
          ws6.Cells(7 + 6, x) = ws5.Range("B" & 16)

Par ce que je t'ai donné !

Bonne soirée,

Baboutz

Rechercher des sujets similaires à "macro copier"