Boucle

Bonjour,

j'ai du mal à transposer ces copies de valeurs que je dois faire X fois

Sheets("ab").Range("B3:AC3").Value = Sheets("data).Range("E9:AF9").Value

Sheets("ab").Range("B4:AC4").Value = Sheets("data").Range("E10:AF10").Value

Sheets("ab").Range("B5:AC5").Value = Sheets("data").Range("E11:AF11").Value

Sheets("ab").Range("B6:AC6").Value = Sheets("data").Range("E12:AF12").Value

Bonsoir auchandrive,

C'est pour une grosse commande de hamburgers !

Je te propose ce fichier Excel :

À l'ouverture du fichier, tu es sur la feuille "data", où j'ai déjà mis des données en E9:AF12.

Va sur la feuille vide "ab" ; Ctrl e ➯ travail effectué : copie faite en B3:AC6

Alt F11 pour voir la macro, puis revenir sur Excel

Si besoin, tu peux demander une adaptation.

Merci de me dire si ça te convient.

Cordialement,

dhany

Salut,

Déjà Merci Dhany pour avoir pris le temps de faire le fichier.

Je vais l'adapter mais imaginons que je reçois le même fichier tous les jours et qu'à chaque fois le nombre de lignes soit different à chaque fichier.

Au lieu d'avoir des données dans E9:AF12, j'ai un jour E9:AF20, un autre E9:AF15.

Comment dois je mettre ma variable?

Bonjour auchandrive,

Selon tes indications, c'est juste la dernière ligne qui est variable d'un fichier à un autre ;

ça commence toujours en ligne 9, pour les colonnes E à AF ; copie en ab!B3

Nouveau fichier Excel :

Si besoin, tu peux demander une adaptation.

Merci de me dire si ça te convient.

Sauf si tu as autre chose à demander, merci de passer le sujet en résolu.

dhany

Merci Dhany c'est parfait.

juste une dernière question, histoire de bien comprendre ce que j'écris en VBA.

pourquoi mettre un "." dans : dlig = .Cells(Rows.Count, 5).End(xlUp).Row ?

pour le "." devant le .Range("E9:AF" & dlig) je comprends que c'est lié au With Worksheets("data")

Sub Essai()

Dim dlig&: Application.ScreenUpdating = False

With Worksheets("data")

' dernière ligne utilisée, selon la colonne E

dlig = .Cells(Rows.Count, 5).End(xlUp).Row

If dlig > 8 Then .Range("E9:AF" & dlig).Copy Worksheets("ab").[B3]

End With

End Sub

auchandrive a écrit :

pour le "." devant le .Range("E9:AF" & dlig) je comprends que c'est lié au With Worksheets("data")

Oui, c'est tout à fait exact ! et pour le "." devant .Cells(Rows.Count, 5) : idem ! ça dépend aussi de la feuille "data", car c'est sur celle-ci qu'on cherche quelle est la dernière ligne utilisée, selon la colonne E (nombre 5).

(avec mes hamburgers, j'ai droit à un milkshake au chocolat gratuit ?)


@Sébastien : c'est bizarre : y'a des sujets comme celui-ci qui sont passés en résolu, mais au lieu de la coche habituelle, c'est noté « » devant le titre du sujet ! à quoi c'est dû, cette différence ?

PS : j'l'avais d'jà remarqué y'a longtemps, bien sûr ! si quelqu'un a une réponse, merci d'avance...

dhany

Rechercher des sujets similaires à "boucle"