Excel VBA Boucle de recherche cellules vide

Résolu
herod1983 Messages postés 193 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 3 août 2012 - 8 nov. 2008 à 14:52
herod1983 Messages postés 193 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 3 août 2012 - 9 nov. 2008 à 11:01
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

4 réponses

us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
8 nov. 2008 à 15:11
Bonjour,

Peut-être ainsi :

For i = 1 To 10
   if i=1 or i=3 or i=5 or i=9 then
      If Cells(i, 1).Value = "" Then Exit For
   end if
Next i 
   Cells(i, 1).Value = Sheets("feuil1").TextBox1.value

mais je ne suis pas sur que cela soit vraiment ce que tu veux faire... A la fin de la boucle, la cellule A11 sera remplie dans le cas où il n'y a pas de cellule vide trouvée... c'est peut-être normal, mais bon...

Amicalement,
Us.
3
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
8 nov. 2008 à 15:59
Bonjour,

Excusez-moi (je ne suis qu'un débutant et nouveau ici, en plus...)

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

for i = 0 to ubound(toto)
  If Cells(toto(i), 1).Value = "" Then
     Cells(toto(i), 1).Value = Sheets("feuil1").TextBox1.value
     exit for
  end
 next

Mais ce n'est que d'instinct et peux me tromper (presqu'à tous les coups...)
3
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
8 nov. 2008 à 16:13
Bonjour jmf0,

Il maque IF, à End if... na !

Oui, ce que tu proposes est juste, mais ne fait pas exactement la même chose que le code proposé... Mais, il me semble aussi que cela est plus logique... mais seul Herold1983, sait ce qu'il veut...
En clair, dès qu'il y a un premier remplacement, on doit arrêter la boucle...

Amicalement,
Us.
0
herod1983 Messages postés 193 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 3 août 2012
9 nov. 2008 à 11:01
Bonjour a tous

Merci déjà de me répondre

Alors  pour les deux méthodes que us_30 et jmf0 mon trouvé, elle fonctionne très bien les deux, je pencherai plus pour toto lol, car
à la 9e cellule donc la dernière, la boucle s'arrête alors que pour l'autre sa continue, les valeurs s'inscrivent sur la 11, 13 etc

Merci à vous tous d'avoir résolu rapidement mon problème.
Bon Dimanche
a+
0
Rejoignez-nous