Boucle While pour récupération de cellule excel [Résolu]

Signaler
Messages postés
8
Date d'inscription
mercredi 23 juillet 2008
Statut
Membre
Dernière intervention
25 juillet 2008
-
Messages postés
8
Date d'inscription
mercredi 23 juillet 2008
Statut
Membre
Dernière intervention
25 juillet 2008
-
Bonjour a tous, 

J'ai 2 pb :

1)
Ici je souhaite juste vérifier si la cellule est vide
i étant une variable

message d'erreur est le suivant  : 

 For i = 13 To 150
                   Do While ActiveSheet.Cells(B, i) = ""                  <-------------- erreur définie par l'application ou par l'objet
                   j = 1
                   i = i + 1
                   Loop

2) Mon autre pb est de savoir si il existe une fonction qui détermine la dernière cellule écrite dans la feuille excel
( ça m'éviterai de mettre 150, chiffre au hasard dans ma boucle for )

Merci a tous 

4 réponses

Messages postés
106
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
16 juillet 2010
1
Salut,

En ce qui concerne la question 2, pour connaitre le nombre de ligne de ta feuille active, moi j'utilise ca :

> Dim nblignes as Long
> nblignes = Cells.SpecialCells(xlCellTypeLastCell).Row

Pour la question 1, je mettrais plutot :

> For i = 13 To 150
>          Do While ActiveSheet.Cells( "B" & i) = "" 
>                 j = 1
>                 i = i + 1
>          Loop
> Next i

J'espere t'avoir aide...
A+,
Tom.

Marin Marais
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

pour la question 2, par contre ton j = 1 est inutile dans la boucle, à chaque itération de la boucle la même valeur est réaffectée ... pour rien !
Soit tu le mets avant, soit après la boucle

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
8
Date d'inscription
mercredi 23 juillet 2008
Statut
Membre
Dernière intervention
25 juillet 2008

Super ca a l'air de fonctioner

Merci !
Messages postés
8
Date d'inscription
mercredi 23 juillet 2008
Statut
Membre
Dernière intervention
25 juillet 2008

Merci de ton aide

J'avais vu cette erreur.

While ActiveSheet.Cells("B" & i) ne fonctionnait pas donc j'ai remplacé par Range("B" & i) et la ca foncttionne

Merci de ton aide

Bien cordialement