XL 2016 Syntaxe variable avec compteur

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 !

Phillip

XLDnaute Occasionnel
Bonjour,

J'ai toujours ce même problème de syntaxe...J'ai une liste de CM de 1 à 50...Je voudrais remplir ma feuille avec cette boucle, et j'ai ce problème de syntaxe
ici CM(lig - 57).Value. Comment collè-je CM avec mon compteur lig-57 ?

VB:
For lig = 58 To 107
Cells(lig, 2) = CM(lig - 57).Value
Next lig

Merci

Cordialement

Phillip
 
Eh non... CM est une variable, qui va de CM1 à CM50

Je veux concatener CM avec 1, 2...50...En utilisant la variable "lig"

En Français ça ferait CM(lig - 57).Value, mais pas en VBA ! 🙂

Je en sais jamais où mettre mes & " ', etc....

Merci

Cordialement
 
Oups! Là je sèche. Il serait plus simple de passer par un array :
VB:
Sub Essai()
Dim CM()
CM = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9.....) ' Mettre les 50 valeurs de CM1 à CM50.
For lig = 58 To 107
   Cells(lig, "B") = CM(lig - 57)
Next lig
End Sub
attention l'array commence à l'indice 0, donc mettre un nombre bidon en premier pour commencer à 1.
 
Je pense que je me suis mal exprimé car je pense que c'est simple...

J'ai une macro qui calcule 50 variables, de la variable CM1 à la variable CM50.

Ces 50 variables, je veux les mettre dans un tableau à partir de la ligne 58, et la colonne 2 (mais peu importe où).

Je peux faire 50 lignes de code comme ceci :
cells(58,2).value=CM1.value
cells(59,2).value=CM2.value
.....
cells(107,2).value=CM50.value

mais c'est long, c'est pour ça que j'ai pensé à la boucle
For lig = 58 To 107
Cells(lig, 2) = xxxx.Value
Next lig

Mon xxx devant être les lettre CM concanténées avec lig-57 pour que je récupéère CM1 sur ma ligne 58, et ainsi de suite

Je cherche donc à concaténer CM et un numéro de ligne, et que cela soit reconnu comme une de mes variables CM1 à CM50....C'est à dire que CM&lig-57=la variable CM1, et ce que je ne sais pas faire c'est concaténer CM et lig-57 !

Sinon, je me le tape ligne par ligne, mais c'est dommage...
Merci encore !
 
Si j'ai bien compris. Sous XL ce serait un Indirect mais en VBA je ne connais pas. 🙄
Mais si, au lieu de mettre CM1, vous mettez CM(1) alors cela devient un tableau et la formule :
Cells(lig, "B") = CM(lig - 57) marche.
Désolé, même mon ami Google n'a pas trouvé de solution à vous proposer.
Peut être un plus malin que moi vous viendra en aide.

Ou envoyez votre code si c'est possible, on pourra essayer de le modifier.
 
Re,

Voici le code. J'ai mis toto au lieu de CM et j'ai changé les lignes...

VB:
Sub CONCA()
toto1 = 8
toto2 = 14
toto3 = 78
toto4 = 90

For lig = 2 To 6
'
'ne marche pas
Cells(lig, 2).Value = toto(lig - 1).Value
'je veux cell(lig,2).value = toto (2-1) etc....
Next lig

End Sub

Merci !

Cordialement

phillip
 
J'ai une macro qui calcule 50 variables, de la variable CM1 à la variable CM50.
Au lieu de faire CM1=ax²+bx+c vous écrivez CM(1)=ax²+bx+c
Donc pour vos CM de votre macro vous rajoutez deux parenthèses pour entourer le nombre, donc CM1 devient CM(1).

Pour votre exemple essayez :
VB:
Sub CONCA()
Dim toto(5)
toto(1) = 8
toto(2) = 14
toto(3) = 78
toto(4) = 90
toto(5) = 110

For lig = 2 To 6

Cells(lig, 2) = toto(lig - 1)

Next lig
End Sub
 
Bonjour à tous,

accepte qu'on ne peut pas reconstruire un nom de variable en vba ;-)
Un tableau tel qu'indiqué par sylvanu est la solution.
Pour renommer tes variables tu as Ctrl+h (remplacer), à mettre au niveau projet si besoin.
Avec en plus l'avantage de le coller en une fois sur ta feuille au lieu de 57 cells(58,2).value=CM1.value
eric
 
- 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
4
Affichages
672
Réponses
2
Affichages
384
Réponses
35
Affichages
2 K
Réponses
5
Affichages
707
Réponses
16
Affichages
1 K
Réponses
4
Affichages
581
Réponses
2
Affichages
427
Réponses
5
Affichages
478
Retour