Excel VBA Boucle de Recherche cellules vides

Résolu
herod1983 Messages postés 200 Statut Membre -  
mnlad Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -
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. mnlad Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   8
     
    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
  2. herod1983 Messages postés 200 Statut Membre 5
     
    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
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    si c'est comme tu explique...
    For i = 1 To 10 step 2
    A+
    0
  4. pilas31 Messages postés 1878 Statut Contributeur 648
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  7. herod1983 Messages postés 200 Statut Membre 5
     
    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. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      Bonjour,
      Effectivement, c'est la meilleur solution et la plus polyvalente.
      A+
      0
    2. mnlad Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   8
       
      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