VBA - INPUTBOx [Résolu/Fermé]

Signaler
Messages postés
240
Date d'inscription
mercredi 14 juillet 2010
Statut
Membre
Dernière intervention
20 décembre 2011
-
Messages postés
240
Date d'inscription
mercredi 14 juillet 2010
Statut
Membre
Dernière intervention
20 décembre 2011
-
Bonjour,

Voici un exemple,

je clique sur un bouton, un input box (avec bouton "OK" et "ANNULER")apparait et me demande de saisir un matricule.

Click "OK" : 1 - vérification que le matricule est bien un numérique si ce n'est pas le cas, une boucle se charge de redemander une saisie jusqu'à obtenir un numérique
2- Vérifie l'existence du matricule

Click "ANNULER" : j'aimerais que le inputbox disparaisse tout simplement.

Qui peut m'aider ?? Merci !

3 réponses

Messages postés
15749
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
1 mai 2021
1 487
Bonjour,
Sub controle_saisie_mat()
'------------------------------------------------------------------------------------------------
'CONTROLE DE SAISIE SUR MATRICULE = NUMERIQUE
'------------------------------------------------------------------------------------------------
Do
matricule = InputBox("Saisir le matricule", "Controle de saisie", "18183")

'Sortie du module si click sur annuler
If vbCancel Then Exit Do


If Not IsNumeric(matricule) Then
MsgBox ("Une valeur numérique est requise !")
End If
Loop Until IsNumeric(matricule)

End Sub

J'espere que cela vous conviendra.
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
240
Date d'inscription
mercredi 14 juillet 2010
Statut
Membre
Dernière intervention
20 décembre 2011
20
Sub controle_saisie_mat()
'------------------------------------------------------------------------------------------------
'CONTROLE DE SAISIE SUR MATRICULE = NUMERIQUE
'------------------------------------------------------------------------------------------------
Do
matricule = InputBox("Saisir le matricule", "Controle de saisie", "18183")
If Not IsNumeric(matricule) Then
MsgBox ("Une valeur numérique est requise !")
End If
Loop Until IsNumeric(matricule)

End Sub

Sub matricule_existe()
'------------------------------------------------------------------------------------------------
'VERIFIE L'EXISTENCE DU MATRICULE
'------------------------------------------------------------------------------------------------
nb_ligne = ActiveSheet.UsedRange.Rows.Count

i = 2
n = 0

'Boucle qui parcourre les lignes de la premiere colonne pour vérifier l'existence du matricule
Do
i = i + 1
val = Sheets(num_feuil).Cells(i, 1).Value
If val = matricule Then
MsgBox ("Le matricule existe bien")
n = 1
End If
Loop Until n = 1 Or i > nb_ligne

'Affiche un message si le matricule est inexistant
If n = 0 Then
MsgBox ("Le matricule n'existe pas !")
End If

End Sub

Private Sub bt_note_Click()

'------------------------------------------------------------------------------------------------
'SELECTION FEUILLE NOTATION ET LIGNE DU MATRICULE SAISI
'------------------------------------------------------------------------------------------------
matricule = 0
num_feuil = 0

controle_saisie_mat

num_feuil = 7

matricule_existe

'Si le matricule est inexistant alors on reste sur la "Feuil agent"
If n <> 0 Then
Worksheets(num_feuil).Select
ActiveSheet.UsedRange.Rows(i).Select
Else
Worksheets("agent").Select
End If

End Sub
Messages postés
240
Date d'inscription
mercredi 14 juillet 2010
Statut
Membre
Dernière intervention
20 décembre 2011
20
Merci !