OVH Cloud OVH Cloud

Entrée non numérique

3 réponses
Avatar
BEAUCHAND
Bonjour à tous,

Je travaille avec Excel 2000.
J'ai une question à 2 volets.
J'ai plusieurs feuilles où les utilisateurs entrent des données numériques
dans plusieurs cellules.
1er volet:
Est-il possible par VBA d'afficher un message si une entrée non-numérique
est faite dans une cellule et d'indiquer également dans le message de quelle
cellule il s'agit?

2ième volet:
Est-il possible, au lieur d'afficher un message, d'effacer le contenue de la
cellule si elle est non-numérique?

Merci à l'avance!

3 réponses

Avatar
Rai
Bonjour à tous,

Je travaille avec Excel 2000.
J'ai une question à 2 volets.
J'ai plusieurs feuilles où les utilisateurs entrent des données numériques
dans plusieurs cellules.
1er volet:
Est-il possible par VBA d'afficher un message si une entrée non-numérique
est faite dans une cellule et d'indiquer également dans le message de quelle
cellule il s'agit?

2ième volet:
Est-il possible, au lieur d'afficher un message, d'effacer le contenue de la
cellule si elle est non-numérique?

Merci à l'avance!


Bonjour,


Oui c'est possible.

1. copie le code suivant dans ta feuille (ALT+F11, puis double-clic sur
le nom de ta feuille, puis coller dans la zone de saisie à droite)

Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsNumeric(Target) Then
msg = "La valeur saisie en " & Target.Address(False, False) &
"n'est pas numérique" & vbLf
msg = msg & "Souhaitez-vous l'effacer ?"
reponse = MsgBox(msg, vbYesNo, "Valeur non numérique")
If reponse = vbYes Then Target.Clear
End If
End Sub


2. idem, mais en copiant le code suivant :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsNumeric(Target) Then Target.Clear
End Sub

Cela te convient ?

Cordialement

Rai

Avatar
dre
Salut,

Pas besoin de VBA !

Sélectionner la plage (par exemple A1:A10)
Menu Données / Validation / Autoriser : personnalisé / Formule : =ESTNUM(A1)
Onglet Alerte d'erreur / le message qu'on veut (par exemple : Ceci n'est pas
une valeur numérisue)

Â+




Bonjour à tous,

Je travaille avec Excel 2000.
J'ai une question à 2 volets.
J'ai plusieurs feuilles où les utilisateurs entrent des données numériques
dans plusieurs cellules.
1er volet:
Est-il possible par VBA d'afficher un message si une entrée non-numérique
est faite dans une cellule et d'indiquer également dans le message de quelle
cellule il s'agit?

2ième volet:
Est-il possible, au lieur d'afficher un message, d'effacer le contenue de la
cellule si elle est non-numérique?

Merci à l'avance!




Avatar
BEAUCHAND
Merci Rai,
Ca fonctionne bien sauf que j'ai dû changer "Target.Clear" pour
Target.Value = "" car ceci protégeait la cellule qui ne l'était pas au départ.
Donc, plus possible pour l'usager d'inscrire autre chose.


Bonjour à tous,

Je travaille avec Excel 2000.
J'ai une question à 2 volets.
J'ai plusieurs feuilles où les utilisateurs entrent des données numériques
dans plusieurs cellules.
1er volet:
Est-il possible par VBA d'afficher un message si une entrée non-numérique
est faite dans une cellule et d'indiquer également dans le message de quelle
cellule il s'agit?

2ième volet:
Est-il possible, au lieur d'afficher un message, d'effacer le contenue de la
cellule si elle est non-numérique?

Merci à l'avance!


Bonjour,


Oui c'est possible.

1. copie le code suivant dans ta feuille (ALT+F11, puis double-clic sur
le nom de ta feuille, puis coller dans la zone de saisie à droite)

Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsNumeric(Target) Then
msg = "La valeur saisie en " & Target.Address(False, False) &
"n'est pas numérique" & vbLf
msg = msg & "Souhaitez-vous l'effacer ?"
reponse = MsgBox(msg, vbYesNo, "Valeur non numérique")
If reponse = vbYes Then Target.Clear
End If
End Sub


2. idem, mais en copiant le code suivant :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsNumeric(Target) Then Target.Clear
End Sub

Cela te convient ?

Cordialement

Rai