Si tous les mots d'une liste sont présents alors ...

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

J

Jeremouse1

Guest
Bonjour,

voilà je suis en train de gérer une base de données et en fonction d'un code de tache, je dois afficher ou pas un mot. J'ai donc créer une liste des codes taches qui m'intéressent et avec la fonction RECHERCHEV je peux vérifier si un code tache est dans ma liste ou pas.

Cependant, parfois, il peut y avoir plusieurs codes taches d'inscrit dans une même cellule. J'aimerais savoir si il est possible de demander à Excel d'afficher un certain mot si tous les codes taches présents dans la cellule sont présents également dans la liste que j'ai crée auparavant ?

Merci d'avance,

Cordialement,

Jeremouse1
 
Dernière modification par un modérateur:
Re : Si tous les mots d'une liste sont présents alors ...

Bonjour,

une proposition par fonction personnalisée en PJ d'après ce que j'ai compris,
Cordialement.
VB:
Function vérif(c As Range)
Application.Volatile
Dim Liste, t#
Liste = Split(c) 'Liste des mots de la cellule à vérifier
For t = LBound(Liste) To UBound(Liste)
  'Si le mot ne fait pas partie de la liste de base, c'est pas bon
  If InStr(UCase(Range("B1")), UCase(Liste(t))) = 0 Then 'Enlever les ucase si la casse a de l'importance
    vérif = "Pas bon"
    Exit Function
  End If
Next t
'Si on est arrivés là, c'est que tous les mots de la cellule font bien partie de la liste.
vérif = "Ok"
End Function
 

Pièces jointes

Re : Si tous les mots d'une liste sont présents alors ...

Bonjour,

merci pour vos réponses. Softmama ta macro répond à ce que j'aurais envie de faire, par contre je ne comprends pas comment tu fais pour définir la liste de référence ? Je pense que c'est ta case jaune dans ton exemple mais je ne la vois pas mentionnée dans ta macro.

Je mets en pièce jointe mon exemple avec, pour les cellules qui ne contiennent qu'un seul code, la fonction déjà écrite. Ma liste de référence est à droite.

Cordialement,

Jeremouse1
 

Pièces jointes

Re : Si tous les mots d'une liste sont présents alors ...

re,

avec ce que j'ai cru comprendre, une proposition plus adaptée à ton besoin en fichier joint.

VB:
Function vérif(c As Range)
Application.Volatile
Dim Liste, t#
Liste = Split(c, Chr(10)) 'Liste des mots de la cellule à vérifier
For t = LBound(Liste) To UBound(Liste)
  'Si le mot ne fait pas partie de la liste de base, c'est pas bon
  If IsError(Application.VLookup(Liste(t), Range("D1:D" & Range("D65500").End(xlUp).Row), 1, 0)) Then
    vérif = ""
    Exit Function
  End If
Next t
'Si on est arrivés là, c'est que tous les mots de la cellule font bien partie de la liste.
vérif = "NSSS UK"
End Function
 

Pièces jointes

Dernière édition:
- 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

D
Réponses
15
Affichages
2 K
R
Réponses
10
Affichages
2 K
Retour