if then goto

Résolu
colincib
Messages postés
22
Date d'inscription
mercredi 31 janvier 2007
Statut
Membre
Dernière intervention
11 juillet 2007
- 23 févr. 2007 à 11:44
cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
- 23 févr. 2007 à 23:29
Hi!

je ne comprends pas pourquoi les quelques lignes qui suivent ne marchent pas.... la ligne FIN existe bien, je n'ai pas de message d'erreur mais même si la Cellule "B7" est vide il y a execution des lignes avant FIN....

Worksheets("Rapport").Activate
Range("B7").Select
If IsEmpty(ActiveCell.Value) Then GoTo FIN

merci
 Cib

11 réponses

colincib
Messages postés
22
Date d'inscription
mercredi 31 janvier 2007
Statut
Membre
Dernière intervention
11 juillet 2007

23 févr. 2007 à 15:37
 bon j'y suis arrivé, avec if..then..else..End if...


mais je vérifie que la cellule est vide avec :

If Worksheets("Rapport").Range("B7").Value <> ""

le "IsEmpty" était la source du pb... (pourquoi je ne sais pas?)

merci à tous!

Cib
3
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
23 févr. 2007 à 11:50
Goto envoie vers une étiquette (de code), par vers une ligne, déjà !
0
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
23 févr. 2007 à 11:55
Essaye peut-etre avec IsEmpty(ActiveCell), je pense que c'est la cellule qui doit etre vide et non pas sa valeur.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
colincib
Messages postés
22
Date d'inscription
mercredi 31 janvier 2007
Statut
Membre
Dernière intervention
11 juillet 2007

23 févr. 2007 à 11:58
ok désolée pour le vocabulaire, suis débutante, si ça peut m'excuser...

"etiquette", en pratique j'ai

Sub xxxx()

Worksheets("Rapport").Activate
Range("B7").Select
If IsEmpty(ActiveCell.Value) Then GoTo FIN

....plein de lignes de code...

FIN:
....plein de lignes de code...

end sub

J'ai déjà utilisé cette fonction sans pb, je pense que c'est mon if isempty qui pose pb??

a++
Cib
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
colincib
Messages postés
22
Date d'inscription
mercredi 31 janvier 2007
Statut
Membre
Dernière intervention
11 juillet 2007

23 févr. 2007 à 12:01
Casy

J'ai tenté IsEmpty(ActiveCell), mais pareil, je tombe sur une erreur dans les lignes avant FIN (ce qui est normal, B7 est vide!)
 Cib
0
colincib
Messages postés
22
Date d'inscription
mercredi 31 janvier 2007
Statut
Membre
Dernière intervention
11 juillet 2007

23 févr. 2007 à 12:03
mais tu y es c'est bien la cellule qui doit etre vide et non pas sa valeur....

 Cib
0
NHenry
Messages postés
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
162
23 févr. 2007 à 12:43
Bonjour


Un conseil, évite le GOTO :

Sub xxxx()


Worksheets("Rapport").Activate

Range("B7").Select

If IsEmpty(ActiveCell.Value) Then GoTo FIN


....plein de lignes de code...


FIN:

....plein de lignes de code...


end sub


Devient

Sub xxxx()


Worksheets("Rapport").Activate

Range("B7").Select

If not(IsEmpty(ActiveCell.Value)) Then


....plein de lignes de code...


end if

....plein de lignes de code...


end sub


C'est plus propre et c'est plus facile pour debugger.

Il est plus facile de batiser quelqu'un que de la convertir.(surtout en programmation)
VB (6, A excel, .NET), C++, C#.Net
Mon site
0
colincib
Messages postés
22
Date d'inscription
mercredi 31 janvier 2007
Statut
Membre
Dernière intervention
11 juillet 2007

23 févr. 2007 à 14:10
NHenry,

ok, j'ai essayé, maintenant c'est l'effet contraire, que B7 soit vide ou non sont exécutées les lignes après le end if....

 Cib
0
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
23 févr. 2007 à 14:32
normal ... de l'algorithmique de base If...Then ... Else .... End If ...

If not(IsEmpty(ActiveCell.Value)) Then

....plein de lignes de code...
ELSE
....plein de lignes de code...
end if

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
colincib
Messages postés
22
Date d'inscription
mercredi 31 janvier 2007
Statut
Membre
Dernière intervention
11 juillet 2007

23 févr. 2007 à 14:55
effectivement...

malgré tout ça ne marche pas...

:-(

Cib

 
0
cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
20
23 févr. 2007 à 23:29
Et pourquoi ne pas mettre
If Range("B7") = "" then    ("" ou vbNullString...)

MPi
0