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

Mélange de personnes au sein de groupes

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

D

Daguet

Guest
Bonjour à tous,

Je joins ici un fichier représentant l'organisation d'un évènement où les personnes vont se croiser au sein de groupes de 4 ou 5 personnes à chacune des trois phases.

Je recherche un système permettant de vérifier automatiquement (mise en forme conditionnelle?) si une personne a déjà été au cours de la ou des phases précédentes dans les même groupe qu'une personne de son groupe actuel... je ne sais pas si je suis clair🙂

un exemple : si le 1 était dans le groupe de 2 lors de la première phase, ils ne peuvent plus se rencontrer dans chacune des deux phases suivantes....

Je fais la répartition manuellement mais je souhaite faire vérifier par Excel, on ne sait jamais, d'autant plus que le nombre de participant pourrait augmenter...

Merci pour votre aide

Daguet
 

Pièces jointes

Re : Mélange de personnes au sein de groupes

Bonjour JNP, Bonjour le Forum,

Merci JNP pour ce fichier, je vois que ça fonctionne, je vais maintenant essayer de le comprendre 🙂

A bientôt,

Daguet
 
Re : Mélange de personnes au sein de groupes

Re 🙂,
Voici mon code commenté
Code:
Function Doublon(Individu As Range, Groupe As Range, Recherche As Range) As Boolean
' Fonction admettant la sélection de l'individu, de son groupe et de la phase à comparer
' renvoyant un booléen (Vrai ou Faux)
Dim Cellule As Range, Résultat1 As Integer, Résultat2 As Integer
' Dimensionne une cellule, et 2 entiers
Doublon = False
' Met le résultat de la fonction à Faux
Résultat1 = Recherche.Find(Individu, LookAt:=xlWhole).Column
' Recherche de la colonne de l'individu dans la phase
For Each Cellule In Groupe
' Pour chaque cellule dans le groupe
If Individu <> Cellule And Cellule <> "" And Individu <> "" Then
' Si ce n'est pas l'individu et que la cellule n'est pas vide
Résultat2 = Recherche.Find(Cellule, LookAt:=xlWhole).Column
' Recherche de la colonne de cellule
If Résultat1 = Résultat2 Then Doublon = True
' Si les colonnes sont semblables, alors le résultat est Vrai
End If
' Fin du test
Next
' Cellule suivante
End Function
La MFC ensuite est
Code:
=doublon(A3;A$3:A$7;$A$10:$M$14)
A3 pour l'individu (sans $ comme cela, en sélectionnant toute la phase, chaque cellule réagira à elle-même), A$3:A$7 pour le groupe (sans $ pour la colonne, comme cela elle s'appliquera pour chaque colonne) et $A$10:$M$14 pour la phase 2.
Ensuite, j'ai fait la même chose pour comparer phase 2 et phase 3, puis phase 3 et phase 1. On pourrait améliorer en mettant en 2ème condition l'inverse, mais comme ça rame déjà pas mal...
Bon courage 😎
 
Re : Mélange de personnes au sein de groupes

Bonsoir à tous

Une possibilité en pièce jointe, sans macro, mais avec une tonne de noms car la mise en forme conditionnelle n'acceptait pas une formule aussi longue.

Le principe :

Par exemple, en A13, la formule repère la colonne du tableau précédent contenant le même contenu que A15, par exemple E3:E7

Puis elle fait =SOMME(NB.SI(A$10:A$14;E$3:E$7))>1. Si c'est vrai, c'est qu'il existe plus d'un nombre se trouvant et dans A10:A14, et dans E3:E7. La cellule change de couleur. Si c'est faux, c'est qu'uniquement le contenu de A15 se trouve dans A10:A14 et dans E3:E7. La cellule ne change pas de couleur.

@ plus
 

Pièces jointes

Re : Mélange de personnes au sein de groupes

Salut Cisco 🙂,
Bravo. Très performant sur la vitesse 😉.
Par contre, j'ai pas tout suivi de la méthode avec tous les noms 😱.
Bonne soirée 😎
 
Re : Mélange de personnes au sein de groupes

Bonsoir

Une petite explication

...
Par exemple, en A13, la formule repère la colonne du tableau précédent contenant le même contenu que A15, par exemple E3:E7

@ plus

NBSIB1 = NB.SI(feuil1!$B$3:$B$7;feuil1!A13)
renvoie 1 si A13 est dans la plage B3:B7

NBSIC2 = NB.SI(feuil1!$C$3:$C$7;feuil1!A13)
renvoie 1 si A13 est dans la plage C3:C7

....
NBSIM1 = NB.SI(feuil1!$M$3:$M$7;feuil1!A13)
renvoie 1 si A13 est dans la plage M3:M7

mais comme la valeur A13 n'est qu'une fois dans le tableau A3:M7, un seul de ces noms vaut 1. Les autres valent 0.

groupetableau1= NBSIB1+NBSIC1*2+NBSID1*3+NBSIE1*4+NBSIF1*5+NBSIG1*6+NBSIH1*7+NBSII1*8+NBSIJ1*9+NBSIK1*10+NBSIL1*11+NBSIM1*12
renvoie 0 si A13 est dans la plage A3:A7, 1 si A13 est dans la plage B3:B7, 2 si A13 est dans la plage C3:C7.... et 12 si A13 est dans la plage M3:M7. Autrement dit, groupetableau1 renvoie le numéro de la colonne où se trouve A13 moins 1

tableauA= DECALER(feuil1!$A$3;;groupetableau1;5)
renvoie la plage du tableau du haut où ce trouve A13.

La mise en forme =SOMME(NB.SI(A$10:A$14;tableauA)) est supérieure à 1 si il a plus d'un nombre et dans A10:A14 et dans tableauA --> cellule en bleu

Les noms NBSI.. finissant par 2 font de même, mais du tableau du bas vers le tableau du milieu.

groupetableau2 = NBSIB2+NBSIC2*2+NBSID2*3+NBSIE2*4+NBSIF2*5+NBSIG2*6+NBSIH2*7+NBSII2*8+NBSIJ2*9+NBSIK2*10+NBSIL2*11+NBSIM2*12
renvoie le numéro de la colonne, du tableau du milieu, où se trouve le contenu de la cellule où se fait la MFC, dans le tableau du bas, moins 1.

tableauB =DECALER(feuil1!$A$10;;groupetableau2;5)
renvoie la plage du tableau du milieu où se trouve le contenu de la cellule où se fait la MFC.

La mise en forme =SOMME(NB.SI(A$17:A$21;tableauB)) est supérieure à 1 si il a plus d'un nombre et dans A17:A21 et dans tableauB --> cellule en rouge

@ plus
 
Dernière édition:
Re : Mélange de personnes au sein de groupes

Re 🙂,
Une petite explication
Merci beaucoup 😉.
Je sais pas si je deviendrai un bon formuliste un jour, VBA me parrait tellement plus simple 😛... Mais j'ai pu le constater, moins rapide que les formules 😱.
Peut-être qu'un mixte des 2 avec WorkSheetFonction 🙄.
Bonne journée 😎
 
Re : Mélange de personnes au sein de groupes

Bonsoir

Dans ce cas, ilme semble en efet que le code VBA est plus simple à mettre en place... Si la MFC avec des formules va plus vite, tant mieux.

Au passage, deux "petites" questions :

* Comment fait-on pour connaitre le temps nécesssaire pour un calcul ?

* Est-ce que quelqu'un aurait une idée pour que s'affiche dans chaque cellule du second tableau, phase 2, une liste déroulante ne comprenant pas les nombres déja tirés dans ce tableau, ni ceux des groupes de la phase 1 correspondant au début du groupe en cours ?

Idem avec le tableau de la phase 3.

Cela faciliterait grandement le "travail" de Daguet. Et les MFC proposées dans nos précédents posts seraient inutiles !!!!

@ plus
 
Re : Mélange de personnes au sein de groupes

Bonsoir Daguet Cisco, JNP
Cisco j'ai pas suivi ce fil donc peux-tu donner un exemple concret de ce que tu demandes au sujet des listes déroulantes histoire que je comprenne bien ce dont il est question ?
A+
 
Re : Mélange de personnes au sein de groupes

Bonsoir à tous
Un bricolage avant d'aller se coucher...​
Bonne nuit !

ROGER2327
#3634


Mardi 17 Merdre 137 (Saint Saint Woland, professeur, SQ)
15 Prairial An CCXVIII
2010-W22-4T23:49:38Z
 

Pièces jointes

- 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
0
Affichages
628
Delorentis
D
L
Réponses
2
Affichages
5 K
Lukystar
L
V
Réponses
2
Affichages
2 K
Vincent76e
V
G
Réponses
1
Affichages
2 K
giovinco42
G
B
Réponses
0
Affichages
7 K
biafox
B
T
Réponses
3
Affichages
2 K
takitaka
T
A
Réponses
18
Affichages
18 K
Emvisconti
E
G
Réponses
2
Affichages
899
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…