Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

afficher des variables

7 réponses
Avatar
Michel
Bonjour,

J'ai un problème qui me turlupine, mais c'est vrai que je ne suis pas très
bon en Vba. Pourtant, j'essaie lol.
Je veux récupérer 5 cellules disséminées dans une feuille. (Apparemment, ça,
j'y arrive).
Je veux attribuer ces 5 cellules à 5 variables, que j'ai nommées var1 à var
5.
Je veux aller dans une autre feuille et afficher ces 5 variables côte à
côte.


Voici ce que j'ai tenté
range("a1").select
for x =1 to 5
selection.value=varx
selection.offset(columnoffset:=1).select
next.

J'ai mis des espions (var1, var2 ...var5,x,varx).
X est reconnu, var1, var2 .....var5, aussi, jamais varx.
La cellule active se déplace dans la boucle, mais rien ne s'affiche.
Si quelqu'un pouvait me dire ou je pêche, un grand merci à lui.

7 réponses

Avatar
DanielCo
Bonjour,
A mon avis, tu n'as pas publié tout ton code.
Tu mets le contenu de "Varx" dans A1:E1 ?
Daniel


Bonjour,

J'ai un problème qui me turlupine, mais c'est vrai que je ne suis pas très
bon en Vba. Pourtant, j'essaie lol.
Je veux récupérer 5 cellules disséminées dans une feuille. (Apparemment, ça,
j'y arrive).
Je veux attribuer ces 5 cellules à 5 variables, que j'ai nommées var1 à var
5.
Je veux aller dans une autre feuille et afficher ces 5 variables côte à côte.


Voici ce que j'ai tenté
range("a1").select
for x =1 to 5
selection.value=varx
selection.offset(columnoffset:=1).select
next.

J'ai mis des espions (var1, var2 ...var5,x,varx).
X est reconnu, var1, var2 .....var5, aussi, jamais varx.
La cellule active se déplace dans la boucle, mais rien ne s'affiche.
Si quelqu'un pouvait me dire ou je pêche, un grand merci à lui.
Avatar
MichD
Bonjour,

Voici une procédure dont tu peux t'inspirer
dans ta situation :

'---------------------------------------------------
Sub Test()

Dim T(1 To 5), A As Long

'Tu places les 5 valeurs des 5 cellules
'dans une variable de type tableau (array)
With Worksheets("Feuil1")
T(1) = .Range("A1")
T(2) = .Range("C3")
T(3) = .Range("D33")
T(4) = .Range("G45")
T(5) = .Range("h66")
End With

'Et pour copier ce tableau dans une autre
'feuille sur une même ligne

With Worksheets("Feuil2")
'tu choisis la cellule de ton choix
.Range("B5").Resize(, 5) = T
End With

End Sub
'---------------------------------------------------

MichD
---------------------------------------------------------------
Avatar
MichD
à titre de complément,

Si tu as 5 variables : Var1 , Var2 , Var3 , Var4 , Var5

Tu ne peux pas utiliser ce type de boucle...

For x = 1 to 5
Msgbox Var & x
Next

La concaténation n'est pas permise sur les noms des variables.


MichD
---------------------------------------------------------------
Avatar
Michel
oui, par exemple. Mais MichD me dit que ce type de boucle n'est pas
utilisable dans mon cas.
En tout cas, un grand merci a tous les deux.
"DanielCo" a écrit dans le message de groupe de discussion :
ktoblj$fgp$

Bonjour,
A mon avis, tu n'as pas publié tout ton code.
Tu mets le contenu de "Varx" dans A1:E1 ?
Daniel


Bonjour,

J'ai un problème qui me turlupine, mais c'est vrai que je ne suis pas très
bon en Vba. Pourtant, j'essaie lol.
Je veux récupérer 5 cellules disséminées dans une feuille. (Apparemment,
ça, j'y arrive).
Je veux attribuer ces 5 cellules à 5 variables, que j'ai nommées var1 à
var 5.
Je veux aller dans une autre feuille et afficher ces 5 variables côte à
côte.


Voici ce que j'ai tenté
range("a1").select
for x =1 to 5
selection.value=varx
selection.offset(columnoffset:=1).select
next.

J'ai mis des espions (var1, var2 ...var5,x,varx).
X est reconnu, var1, var2 .....var5, aussi, jamais varx.
La cellule active se déplace dans la boucle, mais rien ne s'affiche.
Si quelqu'un pouvait me dire ou je pêche, un grand merci à lui.
Avatar
Michel
Merci beaucoup.
Je vais tenter la solution que tu m'as proposée.
Et si ce type de boucle n'est pas utilisable dans mon cas, alors tu as
grandement répondu à ma question, car c'était ma principale voie de
recherche.
En te remerciant encore
Sincères salutations

"MichD" a écrit dans le message de groupe de discussion :
ktohpn$1hs$

à titre de complément,

Si tu as 5 variables : Var1 , Var2 , Var3 , Var4 , Var5

Tu ne peux pas utiliser ce type de boucle...

For x = 1 to 5
Msgbox Var & x
Next

La concaténation n'est pas permise sur les noms des variables.


MichD
---------------------------------------------------------------
Avatar
DanielCo
Si tu veux travailler avec des variables, prends la méthode de MichD,
sinon :
With Sheets("Feuil1")
Sheets("Feuil2").[A1:E1].Value = Union(.[B13], .[D16], .[F14],
.[H17], .[J14]).Value
End With
évite de faire une boucle.
Daniel



oui, par exemple. Mais MichD me dit que ce type de boucle n'est pas
utilisable dans mon cas.
En tout cas, un grand merci a tous les deux.
"DanielCo" a écrit dans le message de groupe de discussion :
ktoblj$fgp$

Bonjour,
A mon avis, tu n'as pas publié tout ton code.
Tu mets le contenu de "Varx" dans A1:E1 ?
Daniel


Bonjour,

J'ai un problème qui me turlupine, mais c'est vrai que je ne suis pas très
bon en Vba. Pourtant, j'essaie lol.
Je veux récupérer 5 cellules disséminées dans une feuille. (Apparemment,
ça, j'y arrive).
Je veux attribuer ces 5 cellules à 5 variables, que j'ai nommées var1 à var
5.
Je veux aller dans une autre feuille et afficher ces 5 variables côte à
côte.


Voici ce que j'ai tenté
range("a1").select
for x =1 to 5
selection.value=varx
selection.offset(columnoffset:=1).select
next.

J'ai mis des espions (var1, var2 ...var5,x,varx).
X est reconnu, var1, var2 .....var5, aussi, jamais varx.
La cellule active se déplace dans la boucle, mais rien ne s'affiche.
Si quelqu'un pouvait me dire ou je pêche, un grand merci à lui.
Avatar
Michel
Merci de votre aide à tous les deux.
Au moins j'aurais appris des choses.
Et pour mon problème, tout roule.
Donc encore merci et félicitations à tous les deux

"DanielCo" a écrit dans le message de groupe de discussion :
ktr32o$erp$

Si tu veux travailler avec des variables, prends la méthode de MichD,
sinon :
With Sheets("Feuil1")
Sheets("Feuil2").[A1:E1].Value = Union(.[B13], .[D16], .[F14],
.[H17], .[J14]).Value
End With
évite de faire une boucle.
Daniel



oui, par exemple. Mais MichD me dit que ce type de boucle n'est pas
utilisable dans mon cas.
En tout cas, un grand merci a tous les deux.
"DanielCo" a écrit dans le message de groupe de discussion :
ktoblj$fgp$

Bonjour,
A mon avis, tu n'as pas publié tout ton code.
Tu mets le contenu de "Varx" dans A1:E1 ?
Daniel


Bonjour,

J'ai un problème qui me turlupine, mais c'est vrai que je ne suis pas
très bon en Vba. Pourtant, j'essaie lol.
Je veux récupérer 5 cellules disséminées dans une feuille. (Apparemment,
ça, j'y arrive).
Je veux attribuer ces 5 cellules à 5 variables, que j'ai nommées var1 à
var 5.
Je veux aller dans une autre feuille et afficher ces 5 variables côte à
côte.


Voici ce que j'ai tenté
range("a1").select
for x =1 to 5
selection.value=varx
selection.offset(columnoffset:=1).select
next.

J'ai mis des espions (var1, var2 ...var5,x,varx).
X est reconnu, var1, var2 .....var5, aussi, jamais varx.
La cellule active se déplace dans la boucle, mais rien ne s'affiche.
Si quelqu'un pouvait me dire ou je pêche, un grand merci à lui.