Microsoft 365 Compter nombre occurrences

VinceDra

XLDnaute Nouveau
Bonjour,

Quelqu'un peut m'aider pour une formule ou un scrit ?
J'ai 4 colonnes avec plusieurs choix possibles (Alice, Bob, Clarisse, Denis, Ernest...). Les choix apparaissent sur les lignes correspondantes
L'idée principale est de laisser les 4 équipes faire un choix de prénom et de vérifier si les équipes se sont mises d'accord sur un nom ou pas.
Pour cela, je pensais compter le nombre d'occurence et colorer une celle en retour:
- Si on a 4 ou 3 "Alice", la cellule deviendra verte
- Si il y a que 2 "Alice", la cellule deviendra orange
- Si il n'y a qu'un seule prénom "Alice" de choisi, alors la cellule deviendra rouge.
Teams-pick-representative-xlsx-Excel.png

J'ai essayé plusieurs formules avec "SI" "NB.SI" mais il faudrait l'appliquer sur tout le classeur en sachant que les noms choisis par le équipes sont variables et différents.

Merci par avance
 

VinceDra

XLDnaute Nouveau
C'est à dire que la règle 3 ne se rencontrera jamais alors ...
Oui, si on constate que le choix des équipes est totalement différent (c'est à dire 4 noms différents) et pas au moins 2 fois Alice, alors la couleur de la case résultat sera rouge car on considère que les équipes ce sont pas mis d'accord sur le choix d'un représentant vu qu'ils sont tous différents.
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Proposition ici, d'une formule donnant le nombre de citations du prénom majoritairement cité.

Remarque: le problème est peut être un tout petit peu plus compliqué, et il faudrait alors aussi dans une autre colonne, toujours validé par Ctrl+Maj+Entré :
Code:
=MIN(NB.SI(Tableau1[@[Groupe1]:[Groupe 4]];Tableau1[@[Groupe1]:[Groupe 4]]))
En effet, avec 2 des deux cotés il n'y pas plus de majorité qu'avec 1.
 
Dernière édition:

fanch55

XLDnaute Barbatruc
@Dranreb (que je salue) vous a donné la formule idoine.
La colonne Result devra faire partie de votre tableau qui semble structuré , cette colonne pourra être masquée.
1632219221348.png


Personnellement, je n'avais pas pensé à une formule matricielle et j'avais codé :
Code:
=MAX(NB.SI(Tableau1[@[Groupe1]:[Groupe4]];[@Groupe1]);NB.SI(Tableau1[@[Groupe1]:[Groupe4]];[@Groupe2]);NB.SI(Tableau1[@[Groupe1]:[Groupe4]];[@Groupe3]);NB.SI(Tableau1[@[Groupe1]:[Groupe4]];[@Groupe4]))
 
Dernière édition:

fanch55

XLDnaute Barbatruc
Toutefois, si vous ne désirez pas d'une colonne supplémentaire,
vous pouvez mettre directement une formule dans les MFC .
Testez ce code ( en supposant que votre tableau s'appelle Tableau1 ):
VB:
Sub Set_Mfc()
Dim Formule As String
    ' Mises en forme conditionnelles _________________________________________________________
    With [Tableau1[#Data]]
        .FormatConditions.Delete
        
        Rng = .Rows(1).Address(RowAbsolute:=False)
        
        For Each Col In .Columns
            Formule = IIf(Formule = "", "", Formule & ";") & "Nb.Si(" & Rng & ";" & Col.Cells(1).Address & ")"
        Next
        Formule = "=MAX(" & Formule & ")"
        
        With .FormatConditions.Add(Type:=xlExpression, Formula1:=Formule & "=1")
           .Interior.Color = vbRed
           .StopIfTrue = False
        End With
        With .FormatConditions.Add(Type:=xlExpression, Formula1:=Formule & "=2")
           .Interior.Color = 49407
           .StopIfTrue = False
        End With
        With .FormatConditions.Add(Type:=xlExpression, Formula1:=Formule & ">2")
           .Interior.Color = vbGreen
           .StopIfTrue = False
        End With
    
    End With

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
315 106
Messages
2 116 268
Membres
112 706
dernier inscrit
Pierre_98