[VB Excel] Syntaxe Error

Résolu
LeDénicheur Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   -  
jjsteing Messages postés 1670 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" ??
A voir également:

12 réponses

jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
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)
0
LeDénicheur Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   365
 
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 ?
0
matthoffman Messages postés 405 Date d'inscription   Statut Membre Dernière intervention   47
 
Quel en est l'interet ?? Oui ca existe, mais autant faire un code qui agit plutot que de faire un code qui fait un code pour agir.

C'est comme si la maitresse t'interrogeait a l'oral sur combien font 2+2 et que tu ecrit le resultat d'abord sur un papier pour le lire ensuite ...
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
peut etre que tu ne déclarait pas Dim valeur(3) ... donc le tableau de la variable valeur;)
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
?? un exemple??
0
LeDénicheur Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   365
 
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 ??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
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 ;)
0
LeDénicheur Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   365
 
" if valeur(i)="" then "
Ah quoi ça sert ? j'suis sensé mettre quelque chose entreguillements ?
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
nopn, c'est pour tester si il y a une valeur !!
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
euh.. effectivement, ca serait plutot if valeur(i)<>"" then
0
LeDénicheur Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   365
 
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
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
lol, désolé.. c'est un bout de code glissé comme ca, sans test.. juste pour la forme de l'idée ;)
0
LeDénicheur Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   365
 
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 !!!
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
pas de soucis :)
0