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?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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!
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?
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!
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
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
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