Numéro de colonne variable, ne pas réécrire x fois la même ligne de code VBA

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 !

Jonathan1986

XLDnaute Nouveau
Bonjour à tous, bonjour le forum,

Voilà, je développe une application excel et je me suis plusieurs fois posé la question sans la poster sur aucun forum, étant débutant en VBA je ne vois pas trop comment faire ...

Merci beaucoup d'avance pour celui qui a un peu de temps pour regarder cela, le problème est assez simple, je cherche a rendre les numéro de colonnes variables, car ce type d'opération je la répète plusieurs fois

Encore merci
A+
Jo

For i = 2 To L
WB.Sheets("BDDD").Range("A" & i) = xlSheet.Range("A" & i)
WB.Sheets("BDDD").Range("B" & i) = xlSheet.Range("B" & i)
WB.Sheets("BDDD").Range("C" & i) = xlSheet.Range("C" & i)
WB.Sheets("BDDD").Range("D" & i) = xlSheet.Range("D" & i)
WB.Sheets("BDDD").Range("E" & i) = xlSheet.Range("E" & i)
WB.Sheets("BDDD").Range("F" & i) = xlSheet.Range("F" & i)
WB.Sheets("BDDD").Range("G" & i) = xlSheet.Range("G" & i)
WB.Sheets("BDDD").Range("H" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("I" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("J" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("K" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("L" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("M" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("N" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("O" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("P" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("Q" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("R" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("S" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("T" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("U" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("V" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("W" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("X" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("Y" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("Z" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("AA" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("AB" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("AC" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("AD" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("AE" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("AF" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("AG" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("AH" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("AI" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("AJ" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("AK" & i) = xlSheet.Range("H" & i)
WB.Sheets("BDDD").Range("AL" & i) = xlSheet.Range("H" & i)
Next i
 
Re : Numéro de colonne variable, ne pas réécrire x fois la même ligne de code VBA

Bonjour.
VB:
wb.Worksheets("BDDD").[A2:G2].Resize(L - 1).Value = xlSheet.[A2:G2].Resize(L - 1).Value
wb.Worksheets("BDDD").[H2:AL2].Resize(L - 1).Value = xlSheet.[H2].Value
Non attendez je suis allé un peu vite…
VB:
wb.Worksheets("BDDD").[A2:G2].Resize(L - 1).Value = xlSheet.[A2:G2].Resize(L - 1).Value
wb.Worksheets("BDDD").[H2:AL2].Resize(L - 1).Value = xlSheet.[H2].Resize(L - 1).Value
À tester, je n'ai pu le faire faute de classeur joint.
 
Dernière édition:
Re : Numéro de colonne variable, ne pas réécrire x fois la même ligne de code VBA

Bonjour Jo,

Essaie comme ceci peut-être (pas testé):

For i = 2 To L
If i < 8 The
WB.Sheets("BDDD").Range("A" & i & ":G" & i).Value = xlSheet.Range("A" & i& ":G" & i).Value
Else
WB.Sheets("BDDD").Range("H" & i & ":AL" & i).Value = xlSheet.Range("H" & i).Value
End If
Next i
Cordialement.
 
Re : Numéro de colonne variable, ne pas réécrire x fois la même ligne de code VBA

Bonjour Dranreb! Bonjour le forum,
Tout d'abord merci pour cette réponse rapide.
Pour le fichier, il est trop lourd, et fait appel à plein de fichiers externes donc pas simple. 🙁

Le marco s'execute a l'ouverture juste pour importer les données d'un tableau contenus dans un classeur externe (mon code ci dessus est faux, il recopie les cellules au meme endroit dans le fichier actif, donc je n'aurais besoin que de la première ligne que tu as écris).

Je vais essayer ton code mais serait-il possible d'avoir des explications sur ce que tu as ecris?
J'imagine que [A2:AH2] te copie la ligne?
Ensuite je ne comprends pas le resize (L-1) et (I-1)? ..

Merci d'avance pour ta solidarité 😉
A+
Jo
 
- 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

Réponses
10
Affichages
583
Réponses
5
Affichages
495
Réponses
3
Affichages
863
Réponses
10
Affichages
651
Retour