Compter le nombre de chiffres et de lettres
Résolu
Coper
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Existe t'il une fonction qui permet de compter le nombre de chiffres et une autre qui permet de compter le nombre de lettres d'une donnée sous Access ?
Bonne journée
Existe t'il une fonction qui permet de compter le nombre de chiffres et une autre qui permet de compter le nombre de lettres d'une donnée sous Access ?
Bonne journée
4 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, probablement pas.
c'est cependant très simple à réaliser, et il est possible d'utiliser des fonctions dans les requêtes. -
Bonjour,
avec la fonction IsNumeric() tu vas pouvoir compter le nombre de chiffres. Si ta donnée ne comporte que des chiffres et des lettres, tu auras facilement le nombre de lettres.
A ta dispo si tu as un souci avec cette fonction ou sa mise en place.
A+
-
Bonjour,
Je vous remercie pour votre réponse.
Je suis complètement novice en VBA ou SQL, et je n'arrive à mettre en place la fonction IsNumeric() et à compter le nombre de lettres.
Pour décrire rapidement mon problème, j'ai une base access sur laquelle j'ai besoin de compter pour chaque cellule le nombre de lettres, de chiffres et de caractères autres (type /, -...).
Même si j'arrive à déduire le nombre de chiffres avec IsNumeric(), il me faudra encore réussir à déduire le nombre de lettres ou de caractères autres.
Voici un exemple de base access sur laquelle il y a facilement possibilité de compter le nombre total de caractères avec nbcar, mais après je coince...
Pourriez-vous m'aider ?
https://www.catupload.com/download/077263ded19fffd5335bf6cb24b7348e.html
Bonne journée -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, je propose ceci:
pour ta requete:SELECT Table1.Champ1, Len([Champ1]) AS nbcar, nbchif(champ1) as nbchiffre ,nblettre(champ1) as nblettre, nbautre(champ1) as nbautre FROM Table1;
à mettre dans un module (à créer):Option Compare Database Option Explicit Function nbchif(chaine As String) As Integer Dim i As Integer nbchif = 0 For i = 1 To Len(chaine) If IsNumeric(Mid(chaine, i, 1)) Then nbchif = nbchif + 1 End If Next i End Function Function nblettre(chaine As String) As Integer Dim i As Integer nblettre = 0 For i = 1 To Len(chaine) Select Case Asc(Mid(chaine, i, 1)) Case 65 To 90, 97 To 122 nblettre = nblettre + 1 End Select Next i End Function Function nbautre(chaine As String) As Integer Dim i As Integer Dim c As String nbautre = 0 For i = 1 To Len(chaine) c = Mid(chaine, i, 1) Select Case Asc(c) Case 65 To 90, 97 To 122 Case Else If Not IsNumeric(c) Then nbautre = nbautre + 1 End If End Select Next i End Function