Boucle For

Bonjour,

J'aurais aimé faire ceci mais il semblerait que cela ne soit pas possible.

For i = "I" To "O" Step 1

Auriez vous une idée de comment faire ?

merci

4 réponses

  1. Contributeur
    Bonjour,

    Peux-tu apporter plus d'information, dans quel langage programmes-tu par exemple ?
    Pourquoi vouloir boucler sur des lettres ? Ne peux-tu pas utiliser des chiffres (chiffres position des lettres dans l'alphabet par exemple)
    1. C'est en VBA, je voudrais boucler sur chaque colonne.
      1. C'est effectivement impossible d'incrémenter une boucle sur des lettres.

        "I" = colonne 9
        "O" = colonne 15

        Ce qui donne : For i = 9 To 15

        Step 1 est implicite dans un For... Next, on le précise si l'on veut un pas différent,
        de 2 en 2 = Step 2, de 3 en 3 = Step 3 etc ...

        ;o)
        1. J'ai jamais essayé en VBA, mais en Pascal, il était tout a fait possible de boucler sur des lettres.... J'essaie et je te fait signe...
        2. Oui mais là, c'est du VBA et pas du Pascal
      2. Tu vois, j'ai besoin de faire

        Set plage = Worksheets(1).Range(i & "9:" & i & "14")

        avec i le nom de la colonne
        1. Là tu boucles sur les lignes et pas sur les colonnes !!!

          Puisque tu as une plage, pourquoi ne pas faire un For Each .. Next ?

          Dim cl
          
          Set plage = Worksheets(1).Range(i & "9:" & i & "14")
          
          For Each cl In plage
               ' blablabla ...
          Next cl
          
          Set plage = Nothing
        2. Essaie de faire un truc de ce genre

          Dim colonne As String
          Dim tab_colonne() As String

          colonne = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
          tab_colonne = Split(colonne)


          Ainsi, si j'adapte ça a ton exemple un peu plus haut, tu pourras avoir un truc de ce genre :
          ....
          Set plage = Worksheets(1).Range(tab_colonne(i-1) & "9:" & tab_colonne(i-1) & "14")
        3. Le (i-1), c'est parce que l'index de départ du tableau que tu auras obtenu sera "0" et non "1"