Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

inputbox, action en fonction de la valeur saisie

Z

zorg

Guest
bonjour le forum,
j'aimerais faire un controle dans une macro pour une inputbox; si l'utilisateur clique sur annuler on sort de la macro; si la valeur saisie correspond bien à l'un des noms de feuilles présentes dans le classeur on continue sinon si erroné on sort de la macro.
Etant novice dans le vba je n'arrive pas écrire un code correct

merci d'avance à ceux qui me donneront un coup de main

J'ai commencé de la maniere suivante :

Dim Message, Title, Default, MyValue
Message = "Veuillez saisir le nom de la feuille N° 2" & Chr(13) & _
"Ex: Calcul Impot JUILLET_04" & Chr(13) & _
"!!! SOYEZ VIGILANT A LA SYNTAXE !!!"
Title = "Question utilisateur"
Default = "Calcul Impot"
MyValue = InputBox(Message, Title, Default)

If IsEmpty(MyValue) Goto Fin
Else if

' là je ne sais pas comment controler l'exactitude de la valeur saisie
'on continue l'éxécution

Else goto Fin

End if
Fin:
End sub
 
A

arnaud

Guest
salut ,

Donc une valeur correct c'est une valeur qui correpond au nom d'une des feuille de ton classeur c ça ??
si c ça :

Dim ValOk As Boolean

ValOk = false
For i = 1 To ActiveWorkbook.Sheets.Count
If ActiveWorkbook.Sheets(i).Name = MyValue Then ValOk = true
Next i

Else if ValOk = true
 
Z

zorg

Guest
Arnaud merci pour ton aide

oui tu as bien compris si MyValue est égal au nom d'une des feuilles la macro doit continuer sinon il faut la stopper et si l'utilisateur clique sur le bouton annuler il faut aussi l'annuler
En fait vu mon niveau exterment bas en vba je ne sais pas comment raccrocher ta partie de code au reste de ma macro

Dim Message, Title, Default, MyValue
Dim ValOk As Boolean
Message = "Veuillez saisir le nom de la feuille N° 2" & Chr(13) & _
"Ex: Calcul Impot JUILLET_04" & Chr(13) & _
"!!! SOYEZ VIGILANT A LA SYNTAXE !!!"
Title = "Information utilisateur"
Default = "Calcul Impot"
MyValue = InputBox(Message, Title, Default)

If IsEmpty(MyValue) Then GoTo Fin 'je vérif si il y au moins qqchose dans MyValue

'là je ne sais pas comment faire le lien avec ton code


ValOk = False
For i = 1 To ActiveWorkbook.Sheets.Count
If ActiveWorkbook.Sheets(i).name = MyValue Then ValOk = True
Next i
Else if ValOk = true Then

'je dois prendre aussi en compte le cliquage sur Annuler
 
A

arnaud

Guest
re,

Dim Message, Title, Default, MyValue
Dim ValOk As Boolean
ValOk = False

Message = "Veuillez saisir le nom de la feuille N° 2" & Chr(13) & _
"Ex: Calcul Impot JUILLET_04" & Chr(13) & _
"!!! SOYEZ VIGILANT A LA SYNTAXE !!!"
Title = "Information utilisateur"
Default = "Calcul Impot"
MyValue = InputBox(Message, Title, Default)

If IsEmpty(MyValue) Then GoTo Fin 'je vérif si il y au moins qqchose dans MyValue

For i = 1 To ActiveWorkbook.Sheets.Count
If ActiveWorkbook.Sheets(i).name = MyValue Then ValOk = True
Next i
if ValOk = true Then

'ici ton code a faire si il a valider et que la valeur est bonne

end if




si il click sur annuler, ValOk vaudra false vu qu'il y aura une chaine vide dans MyValue donc ton code ne sera pas lancé.
 

Discussions similaires

Réponses
8
Affichages
652
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…