Inputbox excel
Résolu
zbuck
Messages postés
21
Statut
Membre
-
zbuck Messages postés 21 Statut Membre -
zbuck Messages postés 21 Statut Membre -
Bonjour, voici quelques lignes de code que je veux améliorer.
saisie_2:
valeur = InputBox("entrer le numero de la ligne.....")
If valeur < 6 or valeur > 10 Then
MsgBox ("valeur incorrecte")
GoTo saisie_2
je souhaiterai interdire en plus, la saisie d'une valeur 'vide', j'ai donc écris :
If valeur = "" or valeur < 6 or valeur > 10 Then
mais cela ne fonctionne pas , j'ai aussi essayé la fonction :do while.....loop; problème identique
avez_vous une solution Merci
saisie_2:
valeur = InputBox("entrer le numero de la ligne.....")
If valeur < 6 or valeur > 10 Then
MsgBox ("valeur incorrecte")
GoTo saisie_2
je souhaiterai interdire en plus, la saisie d'une valeur 'vide', j'ai donc écris :
If valeur = "" or valeur < 6 or valeur > 10 Then
mais cela ne fonctionne pas , j'ai aussi essayé la fonction :do while.....loop; problème identique
avez_vous une solution Merci
5 réponses
-
Normal, la variable valeur n'est pas définie !
En VBA, il existe une excellente habitude à prendre, qui consiste à commencer systématique le code par Option Explicit et donc à déclarer toutes les variables utilisées :
Option Explicit Sub test() Dim Rep As String saisie_2: Rep = InputBox("entrer le numero de la ligne.....") If Rep = "" Or Val(Rep) < 6 Or Val(Rep) > 10 Then MsgBox ("valeur incorrecte") GoTo saisie_2 End If End Sub -
j'ai oublié de dire que la variable était déclarée en ' integer'
-
Bonjour,
Comme l'on dit mes collègues, InputBox toute simple renvoie un String. D'ou l'incompatibilité de type...
On peux utiliser :
Application.InputBox("bla bla",Type:=1)
Les différents types d'InputBox : ici
Il faut aussi éviter les goto...
voici ma proposition :Sub test() Dim valeur As Integer valeur = Application.InputBox("entrer le numero de la ligne.....", Type:=1) Do While valeur < 6 Or valeur > 10 MsgBox ("valeur incorrecte") valeur = Application.InputBox("entrer le numero de la ligne.....", Type:=1) Loop MsgBox valeur & " est une valeur correcte" End Sub
Ne pas compléter l'InputBox renvoie un message d'erreur Excel, donc il est inutile de traiter ce cas...
Franck P -
Ok code testé cela fonctionne
Merci pour les conseils C'est sympa -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Merci pour les aides et info . Il existe parfois plusieurs solutions pour un même problème ,dans le cas présent on pouvait aussi le résoudre en déclarant la variable en type ' variant'
Merci encore pour pour vos efforts et disponibilité A+