• Initiateur de la discussion Initiateur de la discussion Mitch
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Mitch

XLDnaute Occasionnel
Bonjour, pourriez vous m'aider svp , j'ai une macro pour faire un copier coller seulement dans les colonnes I,J,K,L (en rouge) j'ai des cellules vides et la macro me decales ces colonnes , quelle est la modif

PS: ne connaissant pas le vba la macro si-dessous n'est peut être pas très joli

Merci


Sub Copier()
Dim i As Long, fin As Long, a As Integer
Feuil2.Range("A2:XFD1048576").Clear
Feuil1.Range("A2:XFD1048576").Clear
fin = Feuil4.Range("A65000").End(xlUp).Row
For i = 2 To fin
For a = 1 To Feuil4.Cells(i, 22)
Feuil4.Range("A" & i).Copy Feuil2.Range("A65000").End(xlUp).Offset(1, 0)
Feuil4.Range("M" & i).Copy Feuil2.Range("C65000").End(xlUp).Offset(1, 0)
Feuil2.Range("K65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("T" & i).Value
Next a
For a = 1 To Feuil4.Cells(i, 74)
Feuil4.Range("W" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("X" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("Y" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("Z" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AA" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AB" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AC" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AD" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AE" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AF" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AG" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AH" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AI" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AJ" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AK" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AL" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AM" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AN" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AO" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AP" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AQ" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AR" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AS" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AT" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AU" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AV" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AW" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AX" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AY" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("AZ" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("BA" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("BB" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("BC" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("BD" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("BE" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("BF" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("BG" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("BH" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Feuil4.Range("BI" & i).Copy Feuil2.Range("J65000").End(xlUp).Offset(1, 0)
Feuil4.Range("BJ" & i).Copy Feuil2.Range("B65000").End(xlUp).Offset(1, 0)
Next a
Feuil1.Range("A65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("A" & i).Value
Feuil1.Range("B65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("B" & i).Value
Feuil1.Range("C65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("C" & i).Value
Feuil1.Range("D65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("D" & i).Value
Feuil1.Range("E65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("CQ" & i).Value
Feuil1.Range("F65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("F" & i).Value
Feuil1.Range("G65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("G" & i).Value
Feuil1.Range("H65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("H" & i).Value
Feuil1.Range("I65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("I" & i).Value
Feuil1.Range("J65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("J" & i).Value
Feuil4.Range("K" & i).Copy Feuil1.Range("K65000").End(xlUp).Offset(1, 0)
Feuil4.Range("L" & i).Copy Feuil1.Range("L65000").End(xlUp).Offset(1, 0)

Feuil1.Range("M65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("M" & i).Value
Feuil1.Range("N65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("N" & i).Value
Feuil1.Range("O65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("O" & i).Value
Feuil1.Range("P65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("P" & i).Value
Feuil1.Range("Q65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("Q" & i).Value
Feuil1.Range("R65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("R" & i).Value
Feuil1.Range("S65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("S" & i).Value
Feuil1.Range("T65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("T" & i).Value
Feuil1.Range("U65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("U" & i).Value
Feuil1.Range("V65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("CL" & i).Value
Feuil1.Range("W65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("BL" & i).Value
Feuil1.Range("X65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("BM" & i).Value
Feuil1.Range("Y65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("BN" & i).Value
Feuil1.Range("Z65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("BO" & i).Value
Feuil1.Range("AA65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("BP" & i).Value
Feuil1.Range("AB65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("BQ" & i).Value
Feuil1.Range("AC65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("BR" & i).Value
Feuil1.Range("AD65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("BS" & i).Value
Feuil1.Range("AE65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("BT" & i).Value
Feuil4.Range("BU" & i).Copy Feuil1.Range("AF65000").End(xlUp).Offset(1, 0)
Feuil1.Range("AG65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("BV" & i).Value
Feuil1.Range("AI65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("BW" & i).Value
Feuil1.Range("AH65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("CK" & i).Value
Feuil1.Range("AK65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("BY" & i).Value
Feuil1.Range("AL65000").End(xlUp).Offset(1, 0).Value = Feuil4.Range("CM" & i).Value
Next i
 
Re : copier coller

Bonjour,

le code n'est pas très joli, sur 😱, mais il est surtout absolument illisible comme ça, sauf à vouloir vraiment se faire du mal !

Tu ne pourrais pas mettre un classeur en exemple avec des données bidons et nous dire je voudrais coller telle plage de telle feuille à tel endroit de telle feuille ? Étonné par le nombre de XlUp, un doute sur le "a" dimensionné en "integer".
 
Re : copier coller

Bon voici mon fichier avec plus d'explications, quand je clique sur le bouton "dupliquer les déclinaisons" je copie certaine cellule de la feuille "Nouveaux articles" vers la feuille "Produits" mais les colonnes I,J K,L doivent garder le même ordre , alors que la ellles remontent pour combler les cellules vides
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
280
Réponses
3
Affichages
612
Retour