IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Fonction type IsAlphabetic (le pendant de IsNumeric) ?


Sujet :

VBA Word

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 46
    Points
    46
    Par défaut Fonction type IsAlphabetic (le pendant de IsNumeric) ?
    Bonjour
    une macro quelconque me sélectionne un caractère.
    Comment savoir si ce caractère est une lettre ?
    Y a-t-il un équivalent type IsNumeric() pour savoir si c'est une lettre entre a et z ?
    Je n'ai pas trouvé.
    Quelqu'un aurait-il une fonction de ce type ?
    Merci
    Cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par November-Oscar Voir le message
    Bonjour,

    Au cas où tu n'aurais pas de réponse plus simple, il te faut tester ton caractère via une boucle par rapport au jeu de caractères Ansi, du Chr(65) au Chr(90) pour les majuscules et de 97 à 122 pour les minuscules.

  3. #3
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 947
    Points : 9 275
    Points
    9 275
    Par défaut
    hello,
    on peut aussi se servir des expressions régulières. Pour utiliser celles-ci en VBA il faut cocher Microsoft VBscript Regular Expressions 5.5 dans le menu Outils/Références de VBA :

    Nom : vba_regex.PNG
Affichages : 318
Taille : 25,9 Ko

    et voici une fonction qui teste si une chaîne n'utilise que des lettres avec une option pour ignorer les Minuscule/Majuscule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Function isAlphabetic(ByVal str As String, ignoreCase As Boolean) As BooleanDim stringOne As String
    Dim regexOne As Object
    Set regexOne = New RegExp
    regexOne.Pattern = "^[a-z]+$"
    regexOne.ignoreCase = ignoreCase
    isalpha = regexOne.test(str)
    End Function
     
     
     
     
    Sub test()
    Dim montableau As Variant
    montableau = Array("A", "e", "5", "a2b", "Chien", "chat", "aze1", "aso?", "1234")
    For Each el In montableau
    Debug.Print el & " : " & isAlphabetic(el, False)
    Next el
    Debug.Print "=== Ignore Min/Maj ==="
    For Each el In montableau
    Debug.Print el & " : " & isAlphabetic(el, True)
    Next el
    End Sub
    et voici le résultat du test :

    Nom : ResultVBA_Regexp.PNG
Affichages : 420
Taille : 10,3 Ko

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

Discussions similaires

  1. Fonction types différents
    Par Elstak dans le forum VB.NET
    Réponses: 6
    Dernier message: 17/06/2008, 11h48
  2. Réponses: 0
    Dernier message: 05/12/2007, 14h13
  3. probleme fonction type incompatible
    Par Alex35 dans le forum ASP
    Réponses: 1
    Dernier message: 26/01/2007, 21h56
  4. probleme fonction type incompatible
    Par Alex35 dans le forum ASP
    Réponses: 1
    Dernier message: 25/01/2007, 00h33
  5. Fonction 'type moyenne' dans requêtes
    Par Devipir dans le forum Access
    Réponses: 8
    Dernier message: 19/06/2006, 21h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo