Microsoft 365 Copie de plage à plage avec incrémentation

Simon 1234

XLDnaute Nouveau
Bonjour
Je pense que j'ai un problème de syntaxe car ceci fonctionne:
Worksheets("CHIFFAFFANNUEL").Range("M" & NumDeSem + 2) = Worksheets("CHIFFAFF").Range("J3") //une seule cellule

alors que ceci, non:
Worksheets("CHIFFAFFANNUEL").Range("H" & NumDeSem + 2) = Worksheets("CHIFFAFF").Range("I31:M31") //une plage dans une cellule, je pense que c'est à cause de ça

et ceci ne corrige pas:
Worksheets("CHIFFAFFANNUEL").Range("H" & NumDeSem + 2 : "L" & NumDeSem +2) = Worksheets("CHIFFAFF").Range("I31:M31") //plouf, raté

Alors quelle est la bonne syntaxe svp?
 

Simon 1234

XLDnaute Nouveau
En man geant mon sandwich j'ai tenté ceci:

origine = Array("I", "J", "K", "L", "M")
Destination = Array("H", "I", "J", "K", "L")

For j = 1 To 5
Worksheets("CHIFFAFFANNUEL").Range(Destination(j) & i) = Worksheets("CHIFFAFF").Range(origine(j) & 16).Value
Next

Ca ne marche pas non plus ^^
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 221
Membres
103 158
dernier inscrit
laufin