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

Macros et VBA Excel Discussion :

Comparaison insensible à la casse ?


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Comparaison insensible à la casse ?
    Bonjour,

    Je suis en train d'écrire une petite macro Excel en VBA qui consiste, entre autres, à comparer le contenu de deux colonnes pour aligner les éléments identiques.

    Le contenu de ces deux colonnes provient de deux sources différentes, si bien que l'une contient des mots en majuscules, et l'autre en minuscules.

    Je souhaiterais que ma macro fasse la correspondance entre les mots des deux colonnes indépendamment de la casse (e.g. comprendre que Acquisition et ACQUISITION correspondent au même mot et doivent donc se retrouver sur la même ligne).

    J'ai déjà farfouillé un peu sur Internet, mais je n'ai trouvé qu'une référence à une fonction IgnoreCase qui ne semble pas correspondre exactement à ce que je cherche à faire. Ou alors je n'ai pas compris comment m'en servir...

    Merci de votre aide !

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    A ta place, dans ta comparaison, je ferais un truc comme ça:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim Chaine1 As String
    Dim Chaine2 As String
     
    If LCase(Chaine1) = LCase(Chaine2) Then
    MsgBox (Chaine1 & " est identique à " & Chaine2 & ", sans tenir compte de la casse!") 
    End If
    En clair au lieu de comparer directement tes deux chaines, tu les converti chacune en minuscules avec LCase (ou en majuscule avec UCase).

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    En fait je viens de regarder dans l'aide Excel VBA (le premier endroit où regarder à mon avis, avant de chercher sur le net ), et je pense que tu devrais t'intéresser un peu à l'instruction "Option Compare". C'est exactement ce que tu recherche:

    Instruction utilisée au niveau module pour déclarer la méthode de comparaison par défaut qu'il convient d'utiliser lors de la comparaison de chaînes.

    Syntaxe

    Option Compare {Binary | Text | Database}

    [...]

    L'instruction Option Compare Text fournit des comparaisons de chaînes basées sur un ordre de tri qui ne distingue pas les majuscules des minuscules et qui est déterminé par les paramètres régionaux de votre système.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Tinnou
    En clair au lieu de comparer directement tes deux chaines, tu les converti chacune en minuscules avec LCase (ou en majuscule avec UCase).
    Pas mal du tout ça !

    Citation Envoyé par Tinnou
    je pense que tu devrais t'intéresser un peu à l'instruction "Option Compare". C'est exactement ce que tu recherche
    Ce pourrait être une option intéressante effectivement. Comme j'ai déjà tapé mon code (à la barbare, il doit y avoir moyen de faire 10 fois plus court...), je vais commencer par ta première suggestion, mais si j'ai le temps de l'optimiser je regarderai cela de plus près.

    Merci !

  5. #5
    Expert éminent sénior

    Avatar de Deepin
    Homme Profil pro
    Ingénieur - Chef de projet Modélisation/Simulation
    Inscrit en
    Avril 2004
    Messages
    3 164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Ingénieur - Chef de projet Modélisation/Simulation
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 164
    Points : 51 026
    Points
    51 026
    Par défaut
    il y a une fonction strComp qui sert à ça

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Points : 26
    Points
    26
    Par défaut
    Je sais bien que la discussion date de plusieurs années, mais comme j'avais le même souci et que j'ai trouvé plus simple, je poste la réponse qui pourra servir dans le futur à des personnes comme moi

    Sous Excel 2010, chercher dans l'aide Option Compare Statement
    Cela résout le problème très facilement

    Il suffit de mettre (au niveau du module, donc avant les procédures) ceci : Option compare Text

Discussions similaires

  1. [vba-excel] Comparaisons binaires
    Par CIBOOX dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 13/02/2007, 15h33
  2. [VBA-EXCEL] Comparaison de 2 tables Excels
    Par tangjuncn dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/02/2007, 12h24
  3. Macro VBA Excel : Comparaison des deux 1ères colonnes de 2 fichiers Excel
    Par techneric dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/01/2007, 11h00
  4. VBA - Excel - comparaison de deux feuilles
    Par toto14 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 13/10/2006, 14h52
  5. [VBA]excel comparaison de chaine de caractere
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/01/2006, 16h32

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