Validation de format

Bonjour à tous,

nouveau dans le monde d'excel et de toutes ses formules,

j'ai découvert aujourd'hui plein de fonctions

je cherche cependant une chose bien particuliere

que je n'ai pas trouvé suite à mes recherches sur google et sur le forum

j'ai créé un tableau et je voudrait faire une vérification qu'une case contient

au minimum 8 caractères, 1 majuscule et un chiffre

si vous avez des pistes pour me guider ce serait sympa

bonjour gfusco le forum

oui si tu nous mettais un petit fichier je te fais cela par retour

a+

papou

Bonsoir,

Une petite fonction comme celle-ci te conviendrait-elle ?

Function VerifPW(Rcellule As Range) As Boolean

Dim l As Long, NumCar As Long, sCellule As String

Dim bLong8 As Boolean, bUcase As Boolean, bNum As Boolean

bLong8 = Len(Rcellule.Text) >= 8

sCellule = Rcellule.Text

If bLong8 Then

For l = 1 To Len(Rcellule)

NumCar = Asc(Mid(sCellule, l, 1))

Select Case NumCar

Case 65 To 90 'Majuscule

bUcase = True

' Case 97 To 122 ' Minuscule

' bLcase = True

Case 48 To 57 ' Nombre

bNum = True

End Select

Next l

End If

If bUcase And bNum And bLong8 Then VerifPW = True Else VerifPW = False

End Function

En A1, tu mets ton texte, par exemple "donJon2E"

En B2, tu mets =verifpw(A1)

Cela devrait fonctionné. J'ai également prévu le cas des miniscules au cas ou...

A+

Benead

Merci Benead de t'être penché sur mon sujet

la fonction que tu m'a proposé correspond à mon problème

cependant, je ne sais pas ou la mettre

je cherche à faire une validation de ce type :

=NBCAR(C8)=9

donc si j'ai bien compris,

je colle ta fonction quelque part dans excel

et après dans la case validation de donnée je met "=verifpw(A1)"

c'est bien ca ?

il me reste juste a comprendre ou mettre ta fonction

en tout cas merci à tout les deux de vous être penchés sur le sujet

c'est presque ce que je cherchais,

j'ai mis ta fonction dans les Macros

ca fonctionne correctement dans le cas ou je met

le mot de passe dans la case A1

et la vérif dans une autre case

mais je voudrais plutot faire une "validation des données"

que d'afficher vrai ou faux dans une case

en fait,si l'utilisateur rentre un mot de passe qui ne correspond pas dans la case, une erreur s'affiche et il ne

peut que modifier sa saisie

j'ai ajouter "=verifpw(Password)" à validation de donnée, pensant que ca allait fonctionner

quand je valide, j'ai un message d'erreur : "impossible de trouver la plage nommée"

par contre quand je met ta formule dans une case ca fonctionne parfaitement

Password étant la case contenant le mot de passe (C7)

Je ne comprend pas comment ca marche

je tappe un truc tout simple et ca ne fonctionne pas

par exemple :

dans la case C6

je met une validation de donnée personnalisée :

=ESTTEXT(C6)

pour vérifier si ce qui est entré dans la case C6 est un texte ou non (vérifier qu'il ne contient ni caractères spéciaux ni chiffres)

et lorsque je valide la formule,

j'ai un message d'erreur du type : "Impossible de trouver une plage nommée que vous avez spécifiée"

pouvez vous éclairer ma lanterne ?

merci

Edit : c'est =ESTTEXTE(C6) et pas =ESTTEXT(C6)

et avec cela ca fonctionne,

par contre les deux validations par macro fonctionnent si je les met dans une autre case

mais pas si je les met dans validation de donnée

voici les bouts de codes :

Function VerifPW(Rcellule As Range) As Boolean
Dim l As Long, NumCar As Long, sCellule As String
Dim bLong8 As Boolean, bUcase As Boolean, bNum As Boolean
bLong8 = Len(Rcellule.Text) >= 8
sCellule = Rcellule.Text
If bLong8 Then
For l = 1 To Len(Rcellule)
NumCar = Asc(Mid(sCellule, l, 1))
Select Case NumCar
Case 65 To 90 'Majuscule
bUcase = True
' Case 97 To 122 ' Minuscule
' bLcase = True
Case 48 To 57 ' Nombre
bNum = True
End Select
Next l
End If
If bUcase And bNum And bLong8 Then VerifPW = True Else VerifPW = False
End Function

et l'autre :

Function VerifNom(Rcellule As Range) As Boolean
    Dim i As Integer
    Dim verif As Boolean
    For i = 1 To Len(Rcellule)
        If InStr(1, "abcdefghijiklmnopqrstuvwxyz", Mid(Rcellule, i, 1)) Then
        verif = True
        Else
        verif = False
        End If
    Next i
    If verif Then VerifNom = True Else VerifNom = False
End Function

je me répond, apparemment, les validations de données avec des macro perso ne fonctionnent pas bien

le seul recours qui fonctionne est la mise en forme conditionnelle, qui elle, fonctionne

merci à tous pour votre aide

Rechercher des sujets similaires à "validation format"