[VBA-E]probleme avec une Inputbox

Résolu
cufy59 Messages postés 3 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 3 mai 2007 - 2 mai 2007 à 23:08
cufy59 Messages postés 3 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 3 mai 2007 - 3 mai 2007 à 18:46
bonjour a tous

je suis novice dans la programmation en VBA-E et je suis confronter a un petit probleme

Mon programme principale est constituer d'une succesion de sous programme (desoler pour les accent mais le clavier QWERTY l'oblige)

Or dans un de mes sous programme j'ai une Inputbox qui me donne le choix entre OK et ANNULER
j'aimerais, lorsque je clik sur ANNULER  revenir a la fin de mon programme principale

voila comment je fait

code :

sub PP
......
fin : msgbox" application terminer"
end sub

function SP
rep=InputBox"........"
if rep="" then
 goto fin
end if
......
end function

le probleme, c'est que quand il arrive au "goto fin" excel cherche l'etiquette dans le sous programme

auriez vous une idee pour me sortir de la SVP

je vous remerci de votre attention
 

5 réponses

cufy59 Messages postés 3 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 3 mai 2007
3 mai 2007 à 18:46
c'est bien cela

Mais le programme ne fonctionnait pas meme si je rentrer un valeur numerique
j'ai effectuer la modification suivante : if nhar = empty then

De plus il suffit juste de declarer nhar comme un string et non comme un integer et le programme fonctionne dans les deux cas.
merci de toute vos reponse bonne journee
a+
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
2 mai 2007 à 23:48
Ah !
Et où se trouve donc ton étiquette fin ? (car tu en as bien mis une, j'espère)
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
3 mai 2007 à 00:25
Salut,

l'étiquette est dans SP ^^

Fait avec un booléen en Public :

Private bVerif As Boolean

sub PP
......
' là y'a ton "Call SP"
If bVerif Then GoTo fin

fin : msgbox" application terminer"
end sub

function SP
rep= InputBox"........"
if rep="" then
 bVerif = True
else
......
end if
end function

En italique et gras, ce que je t'ai modifié / rajouté 

@++

<hr width ="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
0
cufy59 Messages postés 3 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 3 mai 2007
3 mai 2007 à 15:42
bonjour je vous remercie pour vos reponse je n'y avait pas penser
seulement maintenant j'ai un autre souci

voila mon code:

function choix rang
..
4:  nhar = InputBox("nombre de rang voulu ?", "choix du rang", "nbr d'harmonique", 6500, 6000)
If nhar = "" Then
    conf = MsgBox("annuler vous fera quitter l'apllication.voulez vous vraiment quitter?", vbYesNo + vbCritical, "fin d'application")
        If conf = 6 Then
            cancel = True
            GoTo fin
        Else
            GoTo 4
        End If
End If
.....
fin:
end function

sub PP
...
choixrang
    If cancel Then
        GoTo fin
    End If
...
fin: msg box"application termine"
end PP

nhar est un integer
cancel est un boolean

mais maintenant si je rentre une valeur dans mon inputbox ou si je fait annuler excel ne comprend pas             If nhar = "" Then
rassurez moi la variable prend bien la valeur  nul ("") quand on clik sur annuler
si oui je ne comprend pas mon erreur

merci de votre attention
A+
0

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

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
3 mai 2007 à 17:44
Oui, quand tu fais Annuler, la valeur de l'InputBox est bien vbNullString, cependant, tu y rentres une valeur par défaut : "nbr d'harmonique"
Si on clique sur OK, c'est du type String, Alors que tu à l'air de demander un nombre.

Si nhar est déclaré en type numérique, forcémment tu auras une erreur !
(erreur d'incompatibilité de type)

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
0
Rejoignez-nous