[VB Excel] Syntaxe Error
Résolu
LeDénicheur
Messages postés
624
Statut
Membre
-
jjsteing Messages postés 1613 Date d'inscription Statut Contributeur Dernière intervention -
jjsteing Messages postés 1613 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'aimerais savoir comment l'on peut donner un indice à une valeur; je m'explique.
Je veux faire une boucle ce coup-ci, avec une valeur d'incrémentation(logique huhu), à chaque tour de boucle, une valeure est mise dans une autre valeure. Les deux valeurs changent pour chaque "i" ^^.
Mon code "test" ressemble environ à ça :
Sub test()
for i = 1 to 3
valeur " & i & " = Range("B" & 5 + i & "")
MsgBox "" & valeur2 & " et " & valeur3 & ""
End Sub
Mais ce qui est souligné ne lui plait pas, comment faire pour avoir obtenir un nom de variable qui varie en fonction de "i" ??
J'aimerais savoir comment l'on peut donner un indice à une valeur; je m'explique.
Je veux faire une boucle ce coup-ci, avec une valeur d'incrémentation(logique huhu), à chaque tour de boucle, une valeure est mise dans une autre valeure. Les deux valeurs changent pour chaque "i" ^^.
Mon code "test" ressemble environ à ça :
Sub test()
for i = 1 to 3
valeur " & i & " = Range("B" & 5 + i & "")
MsgBox "" & valeur2 & " et " & valeur3 & ""
End Sub
Mais ce qui est souligné ne lui plait pas, comment faire pour avoir obtenir un nom de variable qui varie en fonction de "i" ??
Configuration: Windows XP Internet Explorer 6.0
12 réponses
-
Dim valeur(3)
For i = 1 To 3
valeur(i) = Range("B" & 2 + i & "")
Next i
MsgBox "v1=" & valeur(0) & " et v2=" & valeur(1) & " et v3=" & valeur(2) -
Humpf -_-, pourquoi quand j'ai test avec valeur(i) en tatouillant ça me méttait une erreur et que là ça marche -__-
Merci beaucoup Jjsteing =)
Merci beaucoup beaucoup !
J'peux enchainer sur une autre question ?
ça existe un code qui modifie le texte d'un code ? par exemple? un code qui modifie le texte d'un code ? -
?? un exemple??
-
C'est super compliqué à expliquer ce que je veux réaliser >< , j't'explique l'objectif, tu va ptête comprendre.
Imagine une colonne vierge ou tu peux mettre des valeurs bien spécifiques.
Ensuite tu as un TdC, avec des valeurs aussi bien spécifiques du genres 1,2,3,4,5....9,10.
Toi, ce que tu veux c'est que, lorsque tu tapes dans la colonne vierge, 5, 7 et 9 , bah le TdC cache toutes les valeurs sauf les trois rentrées.
Donc j'avais pensé faire une boucle déterminant déja le bon nombre de valeurs écrites dans la colonne Et ensuite, celon le nombre de chiffre bah activer les pivotitems...sauf que pour activer les pivots items, bah faut savoir combien faut en laisser
nblignes = Application.WorksheetFunction.CountA(Range("B6:B41"))
Dim valeur(3)
For i = 1 To nblignes
valeur(i) = "806" & Sheets("Menu").Range("B" & 5 + i & "") & ""
Next i
par exemple pour nblignes = 3, (donc trois valeurs rentrées) bah je mets
.PivotItems("" &valeur(1) & "").Visible = True
.PivotItems("" &valeur(2) & "").Visible = True
.PivotItems("" &valeur(3) & "").Visible = true
et tous les autres "False", sachant que y'en a 300... tu vois l'idée ?
Faudrais que je fasse varier le nombre de .PivotItems("" &valeur(1) & "").Visible = True qui s'écrive dans le code, en fonction de "nblignes"
Chaud hein =D ou j'suis bête ?? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
un un ptit :
i=0
do while i<41
if valeur(i)="" then
.PivotItems("" &valeur(i) & "").Visible = True
i=i+1
loop
enfin, un truc de ce style.. j comprend pas tout ton code.. mais j suis sur que tu peux adapter ;) -
" if valeur(i)="" then "
Ah quoi ça sert ? j'suis sensé mettre quelque chose entreguillements ? -
nopn, c'est pour tester si il y a une valeur !!
-
euh.. effectivement, ca serait plutot if valeur(i)<>"" then
-
J'me disais aussi =D
<> renvoie à "différent de", j'le savais ça ! J'ai commencé sans rien savoir, et j'connais pas mal de truc now !
(Aussi grâce à CCM ^^' ) Merci à toi ! Bouge pas j'sens que j'vais encore avoir une question là :p -
lol, désolé.. c'est un bout de code glissé comme ca, sans test.. juste pour la forme de l'idée ;)
-
J'en est la larme à l'oeil :') ça marche, j'ai pas du tout pensé au Do While, et c'est une tuerie ce programme.
Je sais pas si c'est beaucoup mais ya 2500 lignes oO et c'est pas mal de boucles pour certains trucs !
J'te remercie beaucoup beaucoup JJsteing, et j'aimerais bien resté en contact avec toi, j'pense que tu peux beaucoup m'apprendre :x surveille tes MP pour les années à venir !!! -
pas de soucis :)