Vérifier saisie InputBox

Bonjour,

J'ai 2 problématiques :

1) J'ai une macro dans laquelle il y a des paramètres à introduire par des utilisateurs. Pour cela, j'utilise InputBox.

Parmi les paramètres, il y en a qui sont en saisie libre (on peut écrire ce que l'on veut), mais il y a ceux qu'il faut "cadrer" ; Contrôler.

Le plus important est le premier qui doit suivre la logique suivante "X-000111"

- 1er caractère : Une lettre Majuscule

- 2ème caractère : Un Tiret

- 3ème caractère : 6 chiffres

Je en trouve pas du tout comment faire ce contrôle en VBA ?!

2) Dans le Les boites de dialogues qui s'affichent pour la saisie, ont 2 boutons : OK et Annuler. J'aimerai qu'en cliquant sur "Annuler" (ou en cliquant sur échap" du clavier), la macro s'arrête.

Merci par avance

Bonjour,

Un test ci-contre où NOM_1 correspond à la saisie dans l'Inputbox. La deuxième condition If MsgBox correspond à la sortie une sortie de macro si vbCancel est cliqué. Ici pas de différence entre vbOK et vbCancel car il n'y a pas d’exécution à la suite :

Sub NOM()
Dim NOM_1$
NOM_1 = InputBox("Saisir ici")
If Left(NOM_1, 1) <> UCase(Left(NOM_1, 1)) Or Mid(NOM_1, 2, 1) <> "-" Or Not IsNumeric(Right(NOM_1, 6)) Then
    If MsgBox("Pas bon format", vbOKCancel) = vbCancel Then Exit Sub
End If
End Sub

Cdlt,

Bonjour Ergotamine et Merci

Toutefois, le code ne fonctionne pas. En fait, il considère toujours que c'est incorrecte même quand c'est correcte !

Bonjour,

Avec cette saisie : A-123456, aucun message d'erreur chez moi. Quels sont les codes renseigné posant problème ?

Cdlt,

C'est drôle, même avec B-123456 ça ne marche pas chez moi !

Par ailleurs, voici un type de code correcte : B-000274

C'EST BON ...

J'avais fait une bétise. J'ai laissé "NOM_1" dans "Isnumeric"

La condition fonctionne parfaitement.

Merci beaucoup

Rechercher des sujets similaires à "verifier saisie inputbox"