Excel VBA Boucle de Recherche cellules vides [Résolu/Fermé]

Signaler
Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
-
Messages postés
29
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
13 août 2011
-
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

6 réponses

Messages postés
29
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
13 août 2011
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
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
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 160
Bonjour,
si c'est comme tu explique...
For i = 1 To 10 step 2
A+
Messages postés
1823
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
604
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
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 160
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
Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
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+

Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 160
Bonjour,
Effectivement, c'est la meilleur solution et la plus polyvalente.
A+
Messages postés
29
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
13 août 2011
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+