Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Comparer deux chaines

  • Initiateur de la discussion Initiateur de la discussion Canard64
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

Canard64

Guest
Comme le tire le dit si bien j'aimerais savoir comment faire pour comparer deux chaines de caractères.
Existe t il une fonction ou il faut la coder? en gros j'espère qu'ils existe un fonction du style strcpr(a,b)
Merci d'avance
 
Re : Comparer deux chaines

Re.


Tu as dit "Existe t il une fonction ou il faut la coder?"
Je t'ai donné une fonction.

Maintenant, si tu veux du VBA:
Code:
If [B]texte1[/B] = [B]texte2[/B] Then
...
else
...
end if

texte 1 et texte2 peuvent être remplacés par:
- textbox1.text / textbox2.text
- combobox1.value / combobox2.value
- range1.value / range2.value (soit en syntaxe range, soit en syntaxe cells)
- ...

ça te va ?
 
Re : Comparer deux chaines

Bonjour

Euh cela n'empeche pas de dire Bonjour et merci pour la réponse même si elle ne convient pas

Sinon tu veux obtenir quoi comme résultat car tu as tout simplement le signe = ou like pour comparer
 
Re : Comparer deux chaines

Bonjour


Canard64 tu parles de cette fonction?



PS: pas eu le temps de franciser, (faut que je surveille la cuisson des pates en meme temps)
mais dans l'aide VBA ce sera en francais
 
Dernière édition:
Re : Comparer deux chaines

Bonjour a tous!!

Je sais pas si vous connaissez mais il existe en C et en java un fonction strcmp(chaine1,chaine2) qui compare deux chaines de caractères.
Cette meme fonction renvoie:
0 si chaine1 = chaine 2
un nombre positif chaine1>chaine2
un nombre négatif chaine1<chaine2

Je voudrais savoir si il exite une fonction similaire en VBA ce qui est le plus important c'est le coté < ou > pas le coté egal car en fait je compare des dates systeme donc elles seront jamais egale
 
Dernière modification par un modérateur:
Re : Comparer deux chaines

Re


Ca doit etre ca alors

Dans l'aide VBA:

StrComp, fonction

Renvoie une valeur de type Variant (Integer) indiquant le résultat d'une comparaison de chaînes.

Syntaxe

StrComp(string1, string2[, compare])

La syntaxe de la fonction StrComp comprend les arguments nommés suivants :

Élément Description
string1 Toute expression de chaîne valide.
string2 Toute expression de chaîne valide.
compare Facultatif. Indique le type de comparaison de chaînes.
Si l'argument compare est de type Null, une erreur se produit.
Si l'argument compare est omis, la valeur de l'instruction Option Compare détermine le type de comparaison.

Valeurs

L'argument compare peut prendre les valeurs suivantes :

Constante Valeur Description
vbUseCompareOption -1 Effectue une comparaison à l'aide de l'instruction Option Compare.
vbBinaryCompare 0 Effectue une comparaison binaire.
vbTextCompare 1 Effectue une comparaison de texte.
vbDatabaseCompare 2 Réservée à Microsoft Access. Effectue une comparaison basée sur les informations contenues dans votre base de données.
 
Dernière édition:
Re : Comparer deux chaines

Bonjour le fil et le Forum,

Comme te le signale Pascal, tu as cette instruction "like" dont voici l'aide:
Like, opérateur, exemple

Cet exemple utilise l'opérateur Like pour comparer une chaîne à un modèle.
Dim MyCheckMyCheck = "aBBBa" Like "a*a" ' Renvoie True.
MyCheck = "F" Like "[A-Z]"' Renvoie True.
MyCheck = "F" Like "[!A-Z]" ' Renvoie False.
MyCheck = "a2a" Like "a#a" ' Renvoie True.
MyCheck = "aM5b" Like "a[L-P]#[!c-e]" ' Renvoie True.
MyCheck = "BAT123khg" Like "B?T*" ' Renvoie True.
MyCheck = "CAT123khg" Like "B?T*" ' Renvoie False.

Bon test.
 
Dernière édition:
Re : Comparer deux chaines

Re


Toujours dans l'aide VBA

StrComp, fonction, exemple

Cet exemple utilise la fonction StrComp pour renvoyer les résultats d'une comparaison de chaînes. Si le troisième argument est 1, une comparaison textuelle s'effectue. Si cet argument est 0 ou s'il est omis, c'est une comparaison binaire qui est réalisée.
Dim MyStr1, MyStr2, MyComp
MyStr1 = "ABCD": MyStr2 = "abcd" ' Définit les variables.
MyComp = StrComp(MyStr1, MyStr2, 1) ' Renvoie 0.
MyComp = StrComp(MyStr1, MyStr2, 0) ' Renvoie -1.
MyComp = StrComp(MyStr2, MyStr1) ' Renvoie 1.
 
Re : Comparer deux chaines

Bonjour,

Je pense avoir bien compris la fonction like et instr mais pourtant j'ai un problème.

Voici le bout de code en question :

En a1 un mot ou un bout de mot que je souhaite cherché dans a4 à ai et masquer ainsi toutes celles qui ne le contiennent pas.

Si a1 = md
les résultats suivant devraient ne pas se masquer : fzafzMdgregeg ; mdF ; deazdazd Md deede .
Or ils se masquent ! Seul md ou Md ou MD ou mD ne se masquent pas.

Comment cela se fait - il?
Je ne comprends pas.

Merci pour votre aide.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
792
Réponses
45
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…