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

  • Initiateur de la discussion Initiateur de la discussion Jonathan1986
  • 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 !

J

Jonathan1986

Guest
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
 
Re : Numéro de colonne variable, ne pas réécrire x fois la même ligne de code VBA

Salut Dranreb!!!!

Un grand merci pour ton aide et pour toutes les réponses, ton code marche du premier coup!!!

Un grand merci à toi et au forum!

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
2
Affichages
921
D
Réponses
1
Affichages
1 K
S
Réponses
4
Affichages
3 K
S
N
Réponses
17
Affichages
3 K
ninajams
N
H
Réponses
19
Affichages
7 K
Retour