Bob a une feuille de calcul avec les noms des membres sur le côté gauche et les mois de l’année en haut. Dans chaque cellule de la grille, il entre les dates auxquelles ont lieu les réunions auxquelles le membre a participé. Bob cherche un moyen de dire en un coup d’œil qui n’a pas rencontré qui.

Une solution à ce problème peut être abordée de plusieurs manières. Si la conception de votre table est flexible, vous pouvez «simplifier» les choses en modifiant la disposition de votre table. Au lieu de mettre des mois dans les colonnes, vous pouvez simplement faire en sorte que chaque colonne soit une date de réunion.

Ensuite, chaque cellule peut contenir une sorte d’indicateur (un nombre ou un caractère) qui indique la personne qui a assisté à la réunion à cette date particulière. Il serait relativement facile de déterminer qui n’a pas rencontré qui:

  1. Choisissez le membre clé, celui que vous souhaitez vérifier, et déplacez-le en haut de votre tableau de données.

  2. Triez le tableau de données horizontalement sur la ligne du membre clé, de sorte que toutes les réunions auxquelles le membre clé a participé se trouvent dans les colonnes les plus à gauche.

  3. Trier tout le monde sauf le membre clé verticalement aux trois premières dates de réunion. Tous ceux qui ont rencontré le membre clé lors de ces trois réunions se trouvent désormais en haut du tableau de données, juste en dessous du membre clé.

  4. Descendez le tableau de données et sélectionnez toutes les personnes qui n’ont pas encore rencontré le membre clé et triez les trois prochaines dates de réunion.

  5. Répétez les étapes 3 et 4 jusqu’à ce que toutes les dates de réunion aient été triées.

  6. Tous ceux qui restent en bas du tableau de données (ceux non sélectionnés aux étapes 3 et 4) n’ont jamais rencontré le membre clé.

Si vous ne pouvez pas modifier le format de votre tableau, une solution macro est nécessaire. Il existe de nombreuses approches qui pourraient être utilisées dans une macro, mais la suivante est peut-être la plus directe:

Sub PeopleNotMet()

Dim rTable As Range     Dim rOutput As Range     Dim iCols As Integer     Dim iCol As Integer     Dim iRows As Integer     Dim iRow As Integer     Dim iCompRow As Integer     Dim sNotMet As String     Dim sMet As String

Set rTable = Worksheets("Sheet1").Range("A1").CurrentRegion     Set rOutput = Worksheets("Sheet2").Range("a1")

sNotMet = "X"

sMet = ""



Application.ScreenUpdating = False     With rTable         iRows = .Rows.Count         iCols = .Columns.Count                  .Columns(1).Copy         With rOutput             .PasteSpecial             .PasteSpecial Transpose:=True             Application.CutCopyMode = False             Range(.Offset(1, 1), .Offset(iRows - 1, _               iRows - 1)).Value = sNotMet             Range(.Offset(1, 1), .Offset(iRows - 1, _               iRows - 1)).HorizontalAlignment = xlCenter         End With     End With     With rTable.Cells(1)

For iRow = 1 To iRows - 1             For iCol = 1 To iCols - 1                 For iCompRow = 1 To iRows - 1                     If Not (IsEmpty(.Offset(iRow, iCol))) Then                         If Not (IsEmpty(.Offset(iCompRow, iCol))) Then                             If .Offset(iRow, iCol).Value = _                               .Offset(iCompRow, iCol).Value Then _                               rOutput.Offset(iRow, iCompRow).Value = sMet                         End If                     End If                 Next             Next         Next     End With

Set rTable = Nothing     Set rOutput = Nothing     Application.ScreenUpdating = True End Sub

Cette macro suppose plusieurs choses. Tout d’abord, il suppose que la table de données d’origine de Bob se trouve sur la feuille Sheet1, à partir de la cellule A1. Deuxièmement, il suppose que la table «qui n’a pas rencontré qui» doit être sur la feuille Sheet2, en commençant à la cellule A1. Si ces hypothèses sont correctes, lorsque vous exécutez la macro, la table créée sur Sheet2 affiche les noms sur le côté gauche et les noms en haut. Les cellules qui se croisent ne contiendront rien (ce qui signifie que les gens se sont rencontrés) ou un X majuscule (ce qui signifie qu’ils ne se sont pas rencontrés).

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (248) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

lien: / excel-Combinations_for_Members_in_Meetings [Combinaisons pour les membres dans les réunions].