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 Access Discussion :

VBA - LIKE est insensible à la casse !


Sujet :

VBA Access

  1. #1
    Membre habitué Avatar de Le Sage
    Homme Profil pro
    Formateur Conseil en Bureautique et CMS, Développeur VBA, Power Query, Power Pivot
    Inscrit en
    Novembre 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur Conseil en Bureautique et CMS, Développeur VBA, Power Query, Power Pivot
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2009
    Messages : 210
    Points : 171
    Points
    171
    Par défaut VBA - LIKE est insensible à la casse !
    Bonjour, et bonne année à toutes et tous !

    Je me trouve dans une situation bizarre, et j'espère que vous saurez m'aiguiller :

    J crée une fonction de vérification de correspondance avec un masque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Function MasqueOk(ByVal Chaine As String) As Boolean
        MasqueOk = Chaine Like "[A-Z]"
    End Function
    Puis je teste dans la fenêtre de débogage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ?MasqueOk("A")
    Vrai
    ?MasqueOk("a")
    Vrai


    L'opérateur LIKE n'est-il pas censé être sensible à la casse ???

    Alors j'ai pu obtenir cette sensibilité à la casse avec Option Compare Binary en tête de module, mais je voulais savoir s'il existait un autre moyen que d'impacter tout un module pour une seule fonction...

    Merci d'avance pour vos réponses éclairées !
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait. (Mark TWAIN)

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Bonjour,
    si tu veux comparer en tenant compte de la casse, tu peux aussi utiliser la fonction StrComp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     strcomp("titi", "TiTI",vbBinaryCompare) ' retourne 0 si les chaines sont égales , voir l'aide Access
    Cdlt
    "Always look at the bright side of life." Monty Python.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Par défaut en VBA et en SQL, Access n'est pas sensible à la case.

    On peut lui forcer la main dans un module avec :

    en tête de module.

    Je ne connais pas de moyen de le faire en SQL.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Membre habitué Avatar de Le Sage
    Homme Profil pro
    Formateur Conseil en Bureautique et CMS, Développeur VBA, Power Query, Power Pivot
    Inscrit en
    Novembre 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur Conseil en Bureautique et CMS, Développeur VBA, Power Query, Power Pivot
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2009
    Messages : 210
    Points : 171
    Points
    171
    Par défaut
    Citation Envoyé par micniv Voir le message
    Bonjour,
    si tu veux comparer en tenant compte de la casse, tu peux aussi utiliser la fonction StrComp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     strcomp("titi", "TiTI",vbBinaryCompare) ' retourne 0 si les chaines sont égales , voir l'aide Access
    Cdlt
    Bonjour, et merci pour ta réponse rapide, mais en fait j'ai simplifié le code pour ne mettre en évidence le problème rencontré.

    Je ne veux pas comparer deux textes, mais un texte avec un masque, et strComp ne le permet pas, au contraire de LIKE.

    Merci quand même, et bonne continuation !
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait. (Mark TWAIN)

  5. #5
    Membre habitué Avatar de Le Sage
    Homme Profil pro
    Formateur Conseil en Bureautique et CMS, Développeur VBA, Power Query, Power Pivot
    Inscrit en
    Novembre 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur Conseil en Bureautique et CMS, Développeur VBA, Power Query, Power Pivot
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2009
    Messages : 210
    Points : 171
    Points
    171
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Bonjour.

    Par défaut en VBA et en SQL, Access n'est pas sensible à la case.

    On peut lui forcer la main dans un module avec :

    en tête de module.

    Je ne connais pas de moyen de le faire en SQL.

    A+
    Bonjour, et merci pour ta réponse.

    C'est ce que je me suis résolu à faire...

    Bonne continuation !
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait. (Mark TWAIN)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparaison insensible à la casse ?
    Par ADK604 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/02/2018, 11h34
  2. LIKE / insensible à la casse et aux accents
    Par Samish dans le forum Requêtes
    Réponses: 12
    Dernier message: 03/04/2009, 18h53
  3. Comment effectuer une comparaison LIKE insensible à la casse ?
    Par Hervé Saladin dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 20/10/2006, 12h36
  4. [VBA-E] Est il possible de creer dynamiquement des controles en VBA
    Par bbkenny dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 13/08/2004, 20h04
  5. Tri insensible à la casse [IB7]
    Par patquoi dans le forum Débuter
    Réponses: 4
    Dernier message: 02/06/2003, 08h56

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