XL 2013 Validation de donnée Excel

  • Initiateur de la discussion Initiateur de la discussion Dofing
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dofing

XLDnaute Junior
Bonjour à toutes et à tous,
Je cherche à imposer un format personnalisé de saisie dans une cellule, mais je ne parviens pas à trouver la formule de validation personnalisée des données.

Le format requis est :

- La Colonne doit commencer par une lettre Majuscule entre A et Z
- Suivi ensuite par des chiffres (maximum 07 chiffres)
- La informations saisies ne doivent pas contenir d'espace
- La cellule ne doit pas contenir de doublon.

Cordialement.
 
Solution
Dans ce fichier (5) cette formule de validation est celle qui pèse le moins lourd en nombre d'octets :
Code:
NB(LN(A1="Sans D24");LN(ET(NBCAR(A1)>1;NBCAR(A1)<9;CODE(A1)>64;CODE(A1)<91;NON(MOD(STXT(A1;2;7);1));ESTERR(TROUVE(" ";A1));NB.SI(A:A;A1)=1)))
Avec la fonction LN les valeurs FAUX renvoient une erreur.
Bonjour Dofing, bienvenue sur XLD,

Bon problème pour un 1er post 🙂

Voyez le fichier joint et cette macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim P As Range, c As Range, txt$, i%, x$
Set P = Intersect(Target, [A:A], UsedRange) 'colonne à adapter
If P Is Nothing Then Exit Sub
If Application.CountA(P) = 0 Then Exit Sub
For Each c In P 'si entrées multiples (copier-coller)
    If c.Row > 1 Then 'en-têtes en ligne 1
        txt = CStr(c)
        If txt <> "" Then
            If Len(txt) = 1 Or Len(txt) > 8 Then P = "": Exit Sub 'si nombre de caractères =1 ou > 8
            If Asc(txt) < 65 Or Asc(txt) > 90 Then P = "": Exit Sub  'si autre qu'une lettre majuscule
            For i = 2 To Len(txt)
                x = Mid(txt, i, 1)
                If Asc(x) < 48 Or Asc(x) > 57 Then P = "": Exit Sub 'si autre qu'un chiffre
                If Len(txt) - Len(Replace(txt, x, "")) > 1 Then P = "": Exit Sub 'si doublon
            Next i
        End If
    End If
Next c
End Sub
Edit : ajouté le test If txt <> "" Then

A+
 

Pièces jointes

Dernière édition:
j'essaye de faire cette configuration dans la validation de donnée.
Formule de Validation des données sur la colonne A du fichier joint :
Code:
=ET(NBCAR(A1)>1;NBCAR(A1)<9;CODE(A1)>64;CODE(A1)<91;-STXT(A1;2;7)=ENT(-STXT(A1;2;7));MAX(NBCAR(A1)-NBCAR(SUBSTITUE(A1;LIGNE(INDIRECT("1:10"))-1;)))<2)
 

Pièces jointes

J'ai vérifier mais les doublons, et les espaces entre lettres et chiffres sont possibles
Fichier (3), j'ai ajouté le critère ESTERR(TROUVE(" ";A1)) ainsi que "" à la fin du test sur les doublons :
Code:
=ET(NBCAR(A1)>1;NBCAR(A1)<9;CODE(A1)>64;CODE(A1)<91;NON(MOD(STXT(A1;2;7);1));ESTERR(TROUVE(" ";A1));MAX(NBCAR(A1)-NBCAR(SUBSTITUE(A1;LIGNE(INDIRECT("1:10"))-1;"")))<2)
 

Pièces jointes

Bonjour Dofing, Patrick, le forum,

Il faut en effet savoir ce qu'on entend par doublon, le post #1 n'est pas clair.

Pour moi il s'agit d'éviter 2 chiffres identiques dans une même cellule.

Pour Patrick il s'agit d'éviter 2 cellules identiques en colonne A.

A Dofing de dire ce qu'il veut.

Bonne journée.
 
Bonjour Patrick,

Cette configuration est destiné à être appliquée à une colonne en entier, Il s'agit d'éviter qu'une même référence soit répéter à différents cellules dans la même colonne.

Par exemple C19354 en cellule A2 et C19354 en cellule A18.

Cordialement.
 
Bonjour,

Il y a de cela quelques j'ai solliciter et obtenu votre aide avec une formule me permettant de "En colonne A entrez une lettre majuscule suivie d'un maximum de 7 chiffres sans doublon"

En plus de ce code et toujours dans la colonne A je cherche maintenant à mettre une formule qui autorisera la saisie du mot "Sans D24"

J'ai essayé à plusieurs reprise sans succès, Merci de votre support
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
381
Retour