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 Functionet 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 Functionje 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