Excel et doublons

Bonjour,

Je souhaiterais avor de l'aide concernant Excel.

Peut etre que quelqu'un pouurait m'aider ?

Je dispose de 9 listes de noms (des participants à 9 réunions).

J'aimerais identifier et compter les noms des personnes qui ont participés à 8 et/ou 9 de ces réunions et je n'arrive pas à le faire avec Excel.

J'ai donc un fichier excel avec 9 fois 2 colonnes: en effet chaque liste est constituée de deux colonnes (Nom + Prénom).

La longueur des colonnes est différente car bien sur à chaque réunion il n'y a pas le meme nombre de participants.

mon but est d'etre capable d'identifier parmi ces 9 listes (9 fois deux colonnes) les personnes ayant participées à 8 et/ou 9 réunions.

Merci de m'aider.

Bonjour,

avec un fichier, çà sera + facile de t'aider

Amicalement

Claude

Bonjour,

d'accord. voici donc le fichier sur lequel je souhaiterais effectuer ce genre de traitement.

merci

nicolas


8reunion.zip (95.78 Ko)

Bonjour à tous,

Ici, on colore en jaune les doublons (présence >= 8 fois)

on peut régler ce nombre de présence sur cette ligne

Présence = 8                    'à régler

Tu peux ajouter des colonnes de réunions (au même pas)

le résultat affiché sera à vérifier manuellement, certaines colonnes

n'étant pas remplies correctement.

Sub Doublons()
'--- de Claude Dubois pour nicoyuri le 30/08/2011 ---
Dim DercL%, cL%, Lg%, i%, x
Dim Tablo As Range                  'plage à traiter
Dim Cpt%                            'compteur
Dim Présence%                       'condition du CountIf (NB.SI)à régler
    x = Time                        'chrono
    DercL = Cells(3, Columns.Count).End(xlToLeft).Column    'dernière colonne

    Set Tablo = Columns(1).Resize(, DercL)
    Tablo.Interior.ColorIndex = xlNone

    Présence = 8                    'à régler

        Application.ScreenUpdating = False
    '--- concatène prénom + nom ---
    For cL = 2 To DercL Step 3
            Lg = Cells(65000, cL + 1).End(xlUp).Row
        Range(Cells(3, cL - 1), Cells(Lg, cL - 1)) = "=RC[1]&RC[2]"
    Next cL
    '---
    For cL = 2 To DercL Step 3
            Lg = Cells(65000, cL).End(xlUp).Row
        For i = 3 To Lg
            If Cells(i, cL + 1) <> "" Then
                If Application.CountIf(Tablo, Cells(i, cL - 1)) >= Présence Then
                    Cells(i, cL).Resize(1, 2).Interior.ColorIndex = 6
                    Cpt = Cpt + 1
                End If
            Else 'si prénom et nom déjà concaténés (1ère colonne réunion)
                If Application.CountIf(Tablo, Cells(i, cL)) >= Présence _
                    And Left(Cells(i, cL), 1) <> "?" Then
                    Cells(i, cL).Interior.ColorIndex = 6
                    Cpt = Cpt + 1
                End If
            End If
        Next i
    Next cL

    '--- efface concat ---
    For cL = 2 To DercL Step 3
        Columns(cL - 1).Clear
    Next cL
        Range("b1") = Cpt & " noms trouvés"
    MsgBox ("temps macro = " & Format(Time - x, "hh:mm:ss"))
End Sub

à tester

Amicalement

Claude

Bonjour,

J'ai regardé ton fichier, et celui-ci n'est pas si facile à traiter...

En effet, la même personne peut être écrite de plusieurs façons, et cela, Excel ne peut le deviner....

J'ai essayé tant bien que mal, mais je ne suis pas formel sur le résultat....

Dans le fichier joint, dans l'onglet "Feuil1", en colonne A et B, ceux qui, pour Excel, ont participé à au moins 8 réunions

Et en colonne F et G, le nombre de réunions pour tous les participants

Bon courage

6reunion-v1.zip (100.00 Ko)

Edit : Bonjour Claude

re,

Pour compléter mon 1er fichier, j'ai ajouté une feuille "doublons"

(même temps de traitement)

voir si utilité ?

salut cousinhub

Bonne journée

Claude

Merci beaucoup pour votre aide et votre temps.

Je vais regarder cela en détail.

nicolas

Bonsoir,

Pas de suite ?

Claude

Salut le forum

Pour donner suite il faudrait qu'il se connecte

Dernière visite:30 Août 2011, 06:45
et le message date de nicoyuri » 30 Août 2011, 06:31

Mytå

Rechercher des sujets similaires à "doublons"