Excel VBA Boucle de Recherche cellules vides

Résolu
Bonjour,

J'ai fais une boucle simple de recherche de cellules vide dans une colonne A et qui inscrit une valeur dans la première cellule vide trouvée.

For i = 1 To 10

If Cells(i, 1).Value = "" Then Exit For

Next i

Cells(i, 1).Value = Sheets("feuil1").TextBox1.value

End Sub

Cela fonctionne, maintenant voila mon problème:
- cette boucle va de la cellule 1 à 10 mais moi j'aimerai qu'elle ne fasse que les cellules 1, 3, 5, 9

J'ai voulu essayer avec la propriété select case mais ma syntaxe est fausse.

Merci d'avance pour votre aide si quelqu'un a une idée
--
Intel Pentium 4 2Core 3,6GO 
C.M. ASUS P5GDC Deluxe
Chipset Intel Grantsdale I915 Socket LGA 775
2048MO DDR2 Dual Channel OCZ Gold
C.G. ATI 3850HD 256MO 400MHZ
3 DD Maxtor
XP Service Pack 2
Mozilla 3.0.3

6 réponses

  1. Je pense que c'est impossible avec la boucle for je peux te proposer de faire le test de cellule. C'est-à-dire fais un test a l'intérieur de la boucle for qui test le numéro ou la position de la cellule
    Par exemple tu peut faire:
    if cellule=3 or Cellule=5 or Cellule=9 then
    'Tu mes le code que tu veut
    end if
    1
    1. Salut

      Merci déjà de me répondre

      Je vois pas trop ou tu veux en venir, pourrais tu me faire un code pour voir ce que sa donne
      merci
      0
      1. Contributeur
        Bonjour,
        si c'est comme tu explique...
        For i = 1 To 10 step 2
        A+
        0
        1. Contributeur
          Bonjour,

          Si tes indices de colonnes sont quelconques, tu peux aussi créer une collection et boucler dessus comme dans l'exemple ci dessous :

          Dim Num_Colonne As New Collection
          
          Num_Colonne.Add (1)
          Num_Colonne.Add (3)
          Num_Colonne.Add (5)
          Num_Colonne.Add (9)
          
          For Each i In Num_Colonne
          
          ....
          
          
          Next i
          
          


          Cdlt
          0
          1. Contributeur
            Oups, j'avais pas vu que tu voulais pas du 7 :-D
            peu aussi faire..
            For i = 1 To 10 step 2
            If i<>7 then
            ....
            end if
            Next i
            0
            1. Merci pour vos réponse j'ai trouvé aussi un truc pas mal et assez facile

              toto = array(1,3,5,9)

              for i = 0 to ubound(toto)

              If Cells(toto(i), 1).Value = "" Then exit for

              next i

              Cells(toto(i), 1).Value = Sheets("feuil1").TextBox1.value

              Bonne continuation
              a+

              0
              1. Contributeur
                Bonjour,
                Effectivement, c'est la meilleur solution et la plus polyvalente.
                A+
                0
              2. Bonjour
                La solution que tu as eu est la meilleure et c'est celle que j'ai aussi trouvé et que je voulais t'envoyer. Elle est impécable, facile et réalisable.

                A+
                0