Comment faire pour contrôler une colonne B pour qu’elle n’accepte que :
Les lettres (A à Z et rien d’autre), les chiffres et le tiret (- ou signe
moins) ?
Surtout aucuns autres caractères spéciaux.
Et peut-on affecter une couleur aux cellules en erreur comme pour une mise
en forme conditionnelle voire renseigner la colonne A « en erreur » ?
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
Garette
Bonjour,
Ceci est possible en utilisant le menu Données/Validation : - Selectionner la zone à traiter - Aller dans Données/Validation - Dans "Autoriser" choisir "Personnalisé" - Dans formule taper : =SI(CODE(A1)>64;SI(CODE(A1)<91;VRAI;SI(CODE(A1)>96;SI(CODE(A1)<123;VRAI;FAUX)))) Où A1correspond à la premiere cellule de la zone selectionnée. Exemple : si la plage selextionnées est C4:Z100, remplacer A1 par C4
Dans les onglets "Message de saisie" et "Alerte d'erreur" choisir le type de message pour l'utilisateur.
-------------------- Pour afficher la cellule en couleur si la valeur est differente de a..z et A..Z, aller dans Format/Mise en forme conditionnelle : - Cliquer sur "La formule est" - saisir la formule : =NON(SI(CODE(A1)>64;SI(CODE(A1)<91;VRAI;SI(CODE(A1)>96;SI(CODE(A1)<123;VRAI;FAUX))))) - Choisir le Format souhaité.
Normalement, il n'est pas necessaire de mettre les cellules en couleur puisque l'utilisateur ne pourra pas saisir autre chose que a..z et A..Z
Bonjour,
Ceci est possible en utilisant le menu Données/Validation :
- Selectionner la zone à traiter
- Aller dans Données/Validation
- Dans "Autoriser" choisir "Personnalisé"
- Dans formule taper :
=SI(CODE(A1)>64;SI(CODE(A1)<91;VRAI;SI(CODE(A1)>96;SI(CODE(A1)<123;VRAI;FAUX))))
Où A1correspond à la premiere cellule de la zone selectionnée.
Exemple : si la plage selextionnées est C4:Z100, remplacer A1 par C4
Dans les onglets "Message de saisie" et "Alerte d'erreur" choisir le type de
message pour l'utilisateur.
--------------------
Pour afficher la cellule en couleur si la valeur est differente de a..z et
A..Z, aller dans Format/Mise en forme conditionnelle :
- Cliquer sur "La formule est"
- saisir la formule :
=NON(SI(CODE(A1)>64;SI(CODE(A1)<91;VRAI;SI(CODE(A1)>96;SI(CODE(A1)<123;VRAI;FAUX)))))
- Choisir le Format souhaité.
Normalement, il n'est pas necessaire de mettre les cellules en couleur
puisque l'utilisateur ne pourra pas saisir autre chose que a..z et A..Z
Ceci est possible en utilisant le menu Données/Validation : - Selectionner la zone à traiter - Aller dans Données/Validation - Dans "Autoriser" choisir "Personnalisé" - Dans formule taper : =SI(CODE(A1)>64;SI(CODE(A1)<91;VRAI;SI(CODE(A1)>96;SI(CODE(A1)<123;VRAI;FAUX)))) Où A1correspond à la premiere cellule de la zone selectionnée. Exemple : si la plage selextionnées est C4:Z100, remplacer A1 par C4
Dans les onglets "Message de saisie" et "Alerte d'erreur" choisir le type de message pour l'utilisateur.
-------------------- Pour afficher la cellule en couleur si la valeur est differente de a..z et A..Z, aller dans Format/Mise en forme conditionnelle : - Cliquer sur "La formule est" - saisir la formule : =NON(SI(CODE(A1)>64;SI(CODE(A1)<91;VRAI;SI(CODE(A1)>96;SI(CODE(A1)<123;VRAI;FAUX))))) - Choisir le Format souhaité.
Normalement, il n'est pas necessaire de mettre les cellules en couleur puisque l'utilisateur ne pourra pas saisir autre chose que a..z et A..Z
Garette
Oui, cest un peu plus compliqué ... Mais j'ai trouvé qq chose. Exemple ici : http://cjoint.com/?mopkiERJUP Il faut bouger effacer les boites de texte dans le fichier pour voir ce qu'il y a dessous.
J'utilise une liste d'exclusion. Si il y a dans la saisie un caractere "interdit" => message d'erreur. Je fais reference à cette liste dans la feuille car trop grande pour rentrer dans la formule.
Oui, cest un peu plus compliqué ...
Mais j'ai trouvé qq chose.
Exemple ici : http://cjoint.com/?mopkiERJUP
Il faut bouger effacer les boites de texte dans le fichier pour voir ce
qu'il y a dessous.
J'utilise une liste d'exclusion. Si il y a dans la saisie un caractere
"interdit" => message d'erreur.
Je fais reference à cette liste dans la feuille car trop grande pour rentrer
dans la formule.
Oui, cest un peu plus compliqué ... Mais j'ai trouvé qq chose. Exemple ici : http://cjoint.com/?mopkiERJUP Il faut bouger effacer les boites de texte dans le fichier pour voir ce qu'il y a dessous.
J'utilise une liste d'exclusion. Si il y a dans la saisie un caractere "interdit" => message d'erreur. Je fais reference à cette liste dans la feuille car trop grande pour rentrer dans la formule.
Fred
Bonjour,
Voici ma solution en utilisant visual basic
Le code ci-dessous est à intégré dans le code de la Feuille à filtrer.
Option Explicit Private Sub Worksheet_Change(ByVal target As Range) Dim s As Range: Dim accepte As String Dim i As Integer Dim valide As Boolean Set s = Selection accepte = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-" If target.Column = 2 Then For i = 1 To Len(target(1)) valide = InStr(1, accepte, Mid(target(1), i, 1)) > 0 Or target(1) "" If Not valide Then Exit For Next i If Not valide Then s.Select target.Activate Application.EnableEvents = False If target(1) <> "" Then MsgBox "Saisie incorrecte : " & """" & target(1) & """" target(1).Formula = "" End If End If End If Application.EnableEvents = True End Sub
Bonne continuation Bonnes fêtes
"Gildo" a écrit dans le message de news:
Bonjour,
Comment faire pour contrôler une colonne B pour qu'elle n'accepte que : Les lettres (A à Z et rien d'autre), les chiffres et le tiret (- ou signe moins) ?
Surtout aucuns autres caractères spéciaux. Et peut-on affecter une couleur aux cellules en erreur comme pour une mise en forme conditionnelle voire renseigner la colonne A « en erreur » ?
Pas évident tout ça !
Bonjour,
Voici ma solution en utilisant visual basic
Le code ci-dessous est à intégré dans le code de la Feuille à filtrer.
Option Explicit
Private Sub Worksheet_Change(ByVal target As Range)
Dim s As Range:
Dim accepte As String
Dim i As Integer
Dim valide As Boolean
Set s = Selection
accepte = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-"
If target.Column = 2 Then
For i = 1 To Len(target(1))
valide = InStr(1, accepte, Mid(target(1), i, 1)) > 0 Or target(1) ""
If Not valide Then Exit For
Next i
If Not valide Then
s.Select
target.Activate
Application.EnableEvents = False
If target(1) <> "" Then
MsgBox "Saisie incorrecte : " & """" & target(1) & """"
target(1).Formula = ""
End If
End If
End If
Application.EnableEvents = True
End Sub
Bonne continuation
Bonnes fêtes
"Gildo" <Gildo@discussions.microsoft.com> a écrit dans le message de news:
227BFE61-2BB6-41E6-905A-F8D9AF69C4F6@microsoft.com...
Bonjour,
Comment faire pour contrôler une colonne B pour qu'elle n'accepte que :
Les lettres (A à Z et rien d'autre), les chiffres et le tiret (- ou signe
moins) ?
Surtout aucuns autres caractères spéciaux.
Et peut-on affecter une couleur aux cellules en erreur comme pour une mise
en forme conditionnelle voire renseigner la colonne A « en erreur » ?
Le code ci-dessous est à intégré dans le code de la Feuille à filtrer.
Option Explicit Private Sub Worksheet_Change(ByVal target As Range) Dim s As Range: Dim accepte As String Dim i As Integer Dim valide As Boolean Set s = Selection accepte = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-" If target.Column = 2 Then For i = 1 To Len(target(1)) valide = InStr(1, accepte, Mid(target(1), i, 1)) > 0 Or target(1) "" If Not valide Then Exit For Next i If Not valide Then s.Select target.Activate Application.EnableEvents = False If target(1) <> "" Then MsgBox "Saisie incorrecte : " & """" & target(1) & """" target(1).Formula = "" End If End If End If Application.EnableEvents = True End Sub
Bonne continuation Bonnes fêtes
"Gildo" a écrit dans le message de news:
Bonjour,
Comment faire pour contrôler une colonne B pour qu'elle n'accepte que : Les lettres (A à Z et rien d'autre), les chiffres et le tiret (- ou signe moins) ?
Surtout aucuns autres caractères spéciaux. Et peut-on affecter une couleur aux cellules en erreur comme pour une mise en forme conditionnelle voire renseigner la colonne A « en erreur » ?
Pas évident tout ça !
Garette
Derniere precision, l'utilisation de car n'est pas necessaire dans la formule. En fait, je l'avait utilisé pour récupérer tous les caractères à controler. Mais celle-ci suffit larement : =SI(ET(ESTERREUR(TROUVE($G$1:$G$192;E1)));VRAI;FAUX) Il suffit de tester directement les caractères récupérés dans la colonne G.
Derniere precision, l'utilisation de car n'est pas necessaire dans la
formule.
En fait, je l'avait utilisé pour récupérer tous les caractères à controler.
Mais celle-ci suffit larement :
=SI(ET(ESTERREUR(TROUVE($G$1:$G$192;E1)));VRAI;FAUX)
Il suffit de tester directement les caractères récupérés dans la colonne G.
Derniere precision, l'utilisation de car n'est pas necessaire dans la formule. En fait, je l'avait utilisé pour récupérer tous les caractères à controler. Mais celle-ci suffit larement : =SI(ET(ESTERREUR(TROUVE($G$1:$G$192;E1)));VRAI;FAUX) Il suffit de tester directement les caractères récupérés dans la colonne G.