OVH Cloud OVH Cloud

InputBox + nombre de caractères

5 réponses
Avatar
Pat rednef
Bonsoir,

J'ai dans une de mes applications une commande application.inputbox, ou je
force la saisie de valeurs numériques, mais je voudrais aller plus loin et
obliger l'utilisateur à saisir 5 (par exemple) chiffres, pas un de moins et
pas 1 deplus, en cas de saisie inf ou supérieure, je souhaite ré afficher la
Inputbox jusqu'à saisie de 5 chiffres.

Pourriez vous avoir la gentillesse de m'aider à résoudre ce cas,

D'avance merci à toutes et tous,

Bonne soirée

Pat

5 réponses

Avatar
Pierre Fauconnier
Bonsoir

do while len(reponse) <> 5
reponse = inputbox("Saisissez 5 chiffres svp")
loop

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Pat rednef" a écrit dans le message
de news:
Bonsoir,

J'ai dans une de mes applications une commande application.inputbox, ou je
force la saisie de valeurs numériques, mais je voudrais aller plus loin et
obliger l'utilisateur à saisir 5 (par exemple) chiffres, pas un de moins
et
pas 1 deplus, en cas de saisie inf ou supérieure, je souhaite ré afficher
la
Inputbox jusqu'à saisie de 5 chiffres.

Pourriez vous avoir la gentillesse de m'aider à résoudre ce cas,

D'avance merci à toutes et tous,

Bonne soirée

Pat


Avatar
Clément Marcotte
Bonjour,

À la volée et pas testé:

sub JeVeuxCinqChiffres()
dim donnee as double, pascorrect as boolean
dim i as byte
do
pascorrect = false
donnee = inputbox("Mettez chiffres")
if Len(donnee) <5 then
msgbox "Au moins cinq chiffres s.v.p."
pascorrect = true
elseif len(donnee) > 5 then
pascorrect = true
msgbox "Pas plus de cinq chiffres s.v.p."
else
for i = 1 to 5
if not isnumeric(mid(donnee,i,1) then
msgbox "Votre entrée contient des valeurs non numériques"
pascorrect = true
end if
loop until pascorrect = false
end sub

P.S j'ai plrs l'InputBox de VBA, mais je suppose que tu pourrais avoir
le même résultat avec application.inputbox. (Ce ne sont pas les mêmes
"InputBoxes".
Pour la petite histoire, inputBox fait partie de VBA "général" et est
disponible dans toutes les applications Office, alors que
Application.InputBox fait partie de VBA et n'est pas directement
disponible ailleurs que dans Excel.

Si tu en as envie, vérifie dans l'aide de VBA s'il n'y aurait pas un
paramètre "Officiel" à ajouter pour obliger la saisie en numérique
(seulement pour Application.InputBox). Si c'est le cas, il suffirait
sans doute de zigouiller la boucle for après le Else. (Là, j'ai pas
vraiment le temps de regarder, c'est l'heure du souper.)




--
On apprend pas à un vieux singe à faire des grimaces
"Pat rednef" a écrit dans le
message de news:
Bonsoir,

J'ai dans une de mes applications une commande application.inputbox,
ou je

force la saisie de valeurs numériques, mais je voudrais aller plus
loin et

obliger l'utilisateur à saisir 5 (par exemple) chiffres, pas un de
moins et

pas 1 deplus, en cas de saisie inf ou supérieure, je souhaite ré
afficher la

Inputbox jusqu'à saisie de 5 chiffres.

Pourriez vous avoir la gentillesse de m'aider à résoudre ce cas,

D'avance merci à toutes et tous,

Bonne soirée

Pat


Avatar
Pat rednef
Merci pierre !!

Quelqu'un pourrait me dire comment faire une recherche en VBa, comme on
enregistre avec l'enregistreur de macro avec fonction ctrl + F (Find, je
connais la syntaxe du code) je souhaite après saisie de la valeur qu'il ne
cherche:

Que dans la colonne A
Que avec mes 5 chiffres de l'input box, et qu'il cherche UNIQUEMENT la
séquence sur les 5 premiers chiffres de chaque case de la colonne A et pas
parmi 5 chiffres qui pourraient etre le 3eme, 4eme, 5eme, 6eme et septième
par exemple

Est ce possible chers Excellentes pointures du VBa EXcel?

D'avance merci à vous,

Pat


Bonsoir

do while len(reponse) <> 5
reponse = inputbox("Saisissez 5 chiffres svp")
loop

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Pat rednef" a écrit dans le message
de news:
Bonsoir,

J'ai dans une de mes applications une commande application.inputbox, ou je
force la saisie de valeurs numériques, mais je voudrais aller plus loin et
obliger l'utilisateur à saisir 5 (par exemple) chiffres, pas un de moins
et
pas 1 deplus, en cas de saisie inf ou supérieure, je souhaite ré afficher
la
Inputbox jusqu'à saisie de 5 chiffres.

Pourriez vous avoir la gentillesse de m'aider à résoudre ce cas,

D'avance merci à toutes et tous,

Bonne soirée

Pat







Avatar
Clément Marcotte
Bonjour,

Je ne sais pas si cela va faire ton bonheur, mais cela semble marcher
chez moi:

http://cjoint.com/?febvNHSPMm


--
On apprend pas à un vieux singe à faire des grimaces
"Pat rednef" a écrit dans le
message de news:
Bonsoir,

J'ai dans une de mes applications une commande application.inputbox,
ou je

force la saisie de valeurs numériques, mais je voudrais aller plus
loin et

obliger l'utilisateur à saisir 5 (par exemple) chiffres, pas un de
moins et

pas 1 deplus, en cas de saisie inf ou supérieure, je souhaite ré
afficher la

Inputbox jusqu'à saisie de 5 chiffres.

Pourriez vous avoir la gentillesse de m'aider à résoudre ce cas,

D'avance merci à toutes et tous,

Bonne soirée

Pat


Avatar
Pierre Fauconnier
Bonjour

Function Chercher_Sequence(Sequence As String, Plage As Range) As Range
Set Chercher_Sequence = Plage.Find(what:=Sequence & "*",
LookIn:=xlValues, lookat:=xlWhole)
End Function

Cette fonction recherche Sequence en debut d'une cellule de Plage et renvoie
cette cette cellule comme valeur objet.
Mise juste après ta ligne avec Input, elle te permet de vérifier si la
séquence existe. Si la séquence existe, la valeur renvoyée correspond à la
cellule trouvée, que tu peux manipuler comme un objet range. Si la valeur
n'est pas trouvée, l'objet renvoyé est Nothing

dim Cellule as range
set Cellule = chercher_Sequence("12345",range("A1:A10")
If cellule is nothing then
msgbox "Valeur non trouvée"
else
msgbox "La cellule est " & cellule.address
End If



Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Pat rednef" a écrit dans le message
de news:
Merci pierre !!

Quelqu'un pourrait me dire comment faire une recherche en VBa, comme on
enregistre avec l'enregistreur de macro avec fonction ctrl + F (Find, je
connais la syntaxe du code) je souhaite après saisie de la valeur qu'il ne
cherche:

Que dans la colonne A
Que avec mes 5 chiffres de l'input box, et qu'il cherche UNIQUEMENT la
séquence sur les 5 premiers chiffres de chaque case de la colonne A et pas
parmi 5 chiffres qui pourraient etre le 3eme, 4eme, 5eme, 6eme et septième
par exemple

Est ce possible chers Excellentes pointures du VBa EXcel?

D'avance merci à vous,

Pat


Bonsoir

do while len(reponse) <> 5
reponse = inputbox("Saisissez 5 chiffres svp")
loop

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Pat rednef" a écrit dans le
message
de news:
Bonsoir,

J'ai dans une de mes applications une commande application.inputbox, ou
je
force la saisie de valeurs numériques, mais je voudrais aller plus loin
et
obliger l'utilisateur à saisir 5 (par exemple) chiffres, pas un de
moins
et
pas 1 deplus, en cas de saisie inf ou supérieure, je souhaite ré
afficher
la
Inputbox jusqu'à saisie de 5 chiffres.

Pourriez vous avoir la gentillesse de m'aider à résoudre ce cas,

D'avance merci à toutes et tous,

Bonne soirée

Pat