Comparer des cellules contenant une combinaison avec repetitions

Bonjour tout le monde,

Je souhaite vérifier des conditions dans une combinaison avec répétitions, le mieux est de regarder le fichier joint pour mieux comprendre. Ma question est la suivante pouvez vous m'aidez à comparer ces valeurs.

29combinaison.xlsx (9.50 Ko)

Bonjour

SI L'UNE DES COMBINAISON OK EST VERIFIE ALORS F10 AFFICHE VRAI

Oui! et comment est-elle vérifiée?

Cordialement

J'ai essayé plusieurs chose :

En admettant que mes combinaisons soit saisie respectivement dans les cellules D1 D2 D3 D4 j'ai essayé cette formule dans F10 : =D1&D1&D1&D1<>$D$1&$D$2&$D$3&$D$4 mais cela ne me permet pas de vérifier toutes les combinaisons possibles, je ne dois pas avoir les 3 valeurs identiques, ais toutes les autres combinaisons conviennent.

J'ai aussi essayer D1<>D2;D2<>D3;D3<>D4;D1<>D4 mais c'est pareil les conditions ne sont pas respecter.

Cordialement

Bonjour

Au vu des combinaisons

=SOMMEPROD(N($A$2:$A$36="AAA,BBB,CCC,DDD")*(B2:B36="OK"))=1

Cordialement

Pour bien se comprendre, je joint une capture d'écran avec une explication de ce que je désire :

sans titre

Alors la cellule A23 est celle qui dois afficher une valeur si toutes mes conditions sont réunies : =SI(ET(J4<>"";J4<>"Neutre";D24<>"";D25<>"";D26<>"";D27<>"";D24="FRANCE";D25="FRANCE";D26="FRANCE";D27="FRANCE";L24<>"";L25<>"";L26<>"";L27<>"";POUR CETTE PARTIE DE FORMULE VOIRE LA PROCHAINE CAPTURE D'ECRAN;Q24="Obtenu";Q25="Obtenu";Q26="Obtenu";Q27="Obtenu";A16="Double Champion");"Triple Champion";"")

POUR CETTE PARTIE DE FORMULE VOIRE LA PROCHAINE CAPTURE D'ECRAN :

sans titre1

c'est donc ici que je bloque, pour que A23 affiche Triple Champion je dois vérifier que J4 n'est pas vide et que J4 est différent de Neutre et que D24 D25 D26 D27 n'est pas vide et que D24 D25 D26 D27 est égal à FRANCE et que L24 L25 L26 L27 n'est pas vide et L24 L25 L26 L27 dois contenir l'une des combinaison présente dans la copie d'écran juste au dessus et que Q24 Q25 Q26 Q27 est égal à Obtenu et que A16 est égal à Double Champion

L24 L25 L26 L27 dois contenir l'une des combinaison présente dans la copie d'écran juste au dessusgrâce à cela je vérifie que j'ai bien 4 certificat Obtenu en FRANCE avec 3 juges différents.

J'espère que la tout est claire j'ai fait de mon mieux pour expliquer

Cordialement

Bonjour,

une solution possible basée sur ton premier fichier.

23combinaison.xlsx (9.86 Ko)

Merci h2so4 mais est t'il possible de l'inclure dans ma formule?

Bonjour,

une solution possible basée sur ton premier fichier.

Bonjour

bonjour, si tu ne sais pas intégrer la formule, passe par des formules intermédiaires dans des cellules intermédiaires.

sinon c'est toujours mieux de mettre un fichier excel en lieu et place de photos dont on ne peut rien faire.

Bonjour,

J'ai mis mon fichier en PJ

Cordialement

Bonjour

bonjour, si tu ne sais pas intégrer la formule, passe par des formules intermédiaires dans des cellules intermédiaires.

sinon c'est toujours mieux de mettre un fichier excel en lieu et place de photos dont on ne peut rien faire.

5classeur1.xlsx (39.16 Ko)

@h2so4

Tu a écrit :

si tu ne sais pas intégrer la formule, passe par des formules intermédiaires dans des cellules intermédiaires.

oui, mais l'ennui, c'est que plus y'a d'intermédiaires, plus on paye de TVA !

dhany

Bonjour à tous

@Dhany

@ Mickaël

je t'ai défini une fonction personnalisée, que j'ai intégrée dans le classeur joint.

Function concours(pays, nombrefrance, nombreetranger, juges, nombrejuges, certificats, nombrecertificats)
    For i = 1 To pays.Count
        If UCase(certificats(i)) = "OBTENU" Then
            nc = nc + 1
            If pays(i) <> "" Then If UCase(pays(i)) = "FRANCE" Then nf = nf + 1 Else ne = ne + 1
            If juges(i) <> "" Then If InStr(jugesstr, juges(i)) = 0 Then nj = nj + 1: jugesstr = jugesstr & juges(i)
        End If
    Next i
    concours = nf >= nombrefrance And ne >= nombreetranger And nj >= nombrejuges And nc >= nombrecertificats
End Function

la fonction est à utiliser dans une cellule excel comme n'importe quelle autre fonction excel.

=concours(pays, nombrefrance, nombreetranger, juges, nombrejuges, certificats, nombrecertificats)

pays : est la plage du tableau contenant les pays,

nombrefrance : est le nombre minimum de certificats obtenus en France nécessaire

nombreetranger : est le nombre minimum de certificats obtenus à l'Etranger nécessaire

juges : est la plage du tableau contenant les noms des juges

nombrejuges : est le nombre minimum de juges différents nécessaire

certificats : est la plage contenant le statut des certificats

nombrecertificats : est le nombre minimum de certificats obtenus nécessaire

voir exemple d'utilisation de la formule dans le classeur

8mickaeldu45.xlsm (45.64 Ko)

Bonjour,

J'ai utilisé la fonction personnalisée que h2so4 m'as créer mais je voudrais juste que lorsque j'utilise la fonction dans une cellule celle ci me renvoi VRAI ou FAUX que je peut réutiliser pour vérifier cette condition dans une autre formule.

=concours(pays, nombrefrance, nombreetranger, juges, nombrejuges, certificats, nombrecertificats)

Pour cela je dois modifier la fonction pouvez vous me dire la modification que je dois effectuer :

Function concours(pays, nombrefrance, nombreetranger, juges, nombrejuges, certificats, nombrecertificats)
    For i = 1 To pays.Count
        If UCase(certificats(i)) = "OBTENU" Then
            nc = nc + 1
            If pays(i) <> "" Then If UCase(pays(i)) = "FRANCE" Then nf = nf + 1 Else ne = ne + 1
            If juges(i) <> "" Then If InStr(jugesstr, juges(i)) = 0 Then nj = nj + 1: jugesstr = jugesstr & juges(i)
        End If
    Next i
    concours = nf >= nombrefrance And ne >= nombreetranger And nj >= nombrejuges And nc >= nombrecertificats
End Function

Merci

Bonsoir

C’est ce que fait cette fonction. Peux-tu mettre un exemple qui montre que tu n’as pas l’une de ces réponses ?

Bonjour h2so

j'ai trouvé la solution ce matin

Bonjour h2so4,

Je souhaite maintenant utiliser ta fonction personnalisé avec des plages discontinue pense tu que cela est envisageable?

Dans une discussion un membre m'avait fournit ce code pour travailler avec des plages discontinu :

Function NBSIDIS(plage, condition)
Application.Volatile
NBSIDIS = 0
For Each p In plage
If Application.CountIf(p, condition) Then NBSIDIS = NBSIDIS + 1
Next p
End Function

Pense tu que l'on peut fusionner ta fonction avec celle ci dessus

Merci

Rechercher des sujets similaires à "comparer contenant combinaison repetitions"