VBA cellule contient 2 valeurs texte

  • Initiateur de la discussion Initiateur de la discussion arobase37
  • 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 !

arobase37

XLDnaute Nouveau
Bonjour
Je voudrais créer une fonction en VBA pour filtrer une cellule si elle contient deux valeurs textes.
j'ai fait ce code mais il me renvoie uniquement "no"
j'ai dû me louper sur l'opérateur...

Function dosleg(leg)
If Range("A1").Value Like "*dossiers*" And Range("A1").Value2 Like "*legislatives*" Then
dosleg = "ok"
Else
dosleg = "No"
End If

End Function


Merci de votre aide !
 
Re : VBA cellule contient 2 valeurs texte

bonjour,
à essayer
If Range("A1").Value Like "*dossiers*" And Range("A1").Value Like "*legislatives*" Then...

ou avec un IFF :
dosleg = IFF(Range("A1").Value Like "*dossiers*" And Range("A1").Value Like "*legislatives*", "ok", "no")

(pas testé)
à+
 
Re : VBA cellule contient 2 valeurs texte

pour savoir où ça cloche, tu peux essayer
If Range("A1").Value Like "*dossiers*" Then x=1
If Range("A1").Value Like "*legislatives*" Then y=1
If x=1 And y=1 Then...
tu sauras ainsi si c'est x qui pose soucis ou y
à+
 
Re : VBA cellule contient 2 valeurs texte

en utilisant la fenêtre espion avec les trois espions suivants:
Range("A1").Value
Range("A1").Value Like "*dossiers*"
Range("A1").Value Like "*legislatives*"
le premier affiche la valeur et les deux autres affichent le résultat du test en tor
 
Re : VBA cellule contient 2 valeurs texte

Grâce à vos réponses, j'ai la solution sous cette forme :
le secret devait être mon paramètre leg que j'aurais dû exploiter au lieu de supprimer !

Function dosleg(leg)
If leg.Value Like "*dossiers*" Then x = 1
If leg.Value Like "*legislatives*" Then y = 1
If x = 1 And y = 1 Then
dosleg = "ok"
Else
dosleg = "no"
End If

End Function

Merci beaucoup et bonne journée à vous tous !
 
Re : VBA cellule contient 2 valeurs texte

bonjour

plus court
Code:
Function dosleg(leg)
dosleg=( leg.Value Like "*dossiers*") and (leg.Value Like "*legislatives*" )
End Function

essaye si cela te tente et tiens moi au courant.....
 
- 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

Discussions similaires

Retour