[VB Excel] Syntaxe Error

Résolu
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" ??
Configuration: Windows XP Internet Explorer 6.0

12 réponses

  1. 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 !!!
    1. Contributeur
      lol, désolé.. c'est un bout de code glissé comme ca, sans test.. juste pour la forme de l'idée ;)
      1. 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
        1. Contributeur
          euh.. effectivement, ca serait plutot if valeur(i)<>"" then
          1. " if valeur(i)="" then "
            Ah quoi ça sert ? j'suis sensé mettre quelque chose entreguillements ?
            1. Contributeur
              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 ;)
              1. 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 ??
                1. 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 ?
                  1. 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 ...
                  2. Contributeur
                    peut etre que tu ne déclarait pas Dim valeur(3) ... donc le tableau de la variable valeur;)
                2. Contributeur
                  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)