Afficher les noms en relation avec des noms de la colonne A

0548 Messages postés 81 Statut Membre -  
0548 Messages postés 81 Statut Membre -
Bonsoir à tous et à toute ,

Je travaille sur un sujet dans lequel :

Dans la colonne A: j'ai 135 noms de personnes.
Dans la colonne B: j'ai 4358 lignes où dans chaque cellule ; il y'a deux noms ou plus et ces dernier sont séparés par un virgule .

Ma problématique consiste à afficher dans une troisième colonne pour chaque noms de la cellule A ; les noms de tous les personnes que celle de la colonne Apparaît avec eux dans la colonne B et les compter par suite .

Voici un exemple:

Soit un nom de la colonne A: Alberto O. Mendelzon

ce nom apparaît 3 fois dans la colonne B:

-B313 :Alberto O. Mendelzon, Alejandro A. Vaisman
- B343: Davood Rafiei, Alberto O. Mendelzon
- B50 : Alberto O. Mendelzon, Alejandro A. Vaisman

=> j'aurai un resultat dans une cellule de la colonne C :
Alberto O. Mendelzon, Alejandro A. Vaisman ,Davood Rafiei.
==> le nombre de personne est 2.

Remarque (j'ai enlever la redondance)

le fichier ci joint contient les informations sur les quelle je travaille.

https://www.cjoint.com/c/EIjaETSoghE

Merci d'avance .
Cdlmt.

4 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    avec une macro.
    Regarde si ça correspond : https://www.cjoint.com/c/EIjlFGSiWom
    eric

    1
    1. 0548 Messages postés 81 Statut Membre
       
      Merci infiniment pour tous
      0
  2. Raymond PENTIER Messages postés 58229 Date d'inscription   Statut Contributeur Dernière intervention   17 494
     
    Salut.

    Il y en a 612 !
    0
    1. Raymond PENTIER Messages postés 58229 Date d'inscription   Statut Contributeur Dernière intervention   17 494
       
      Je laisse le soin à mes petits camarades de CCM, qui dorment à cette heure (il n'est que 21h24 chez moi), de te proposer de belles formules pour calculer ce résultat ...
      Moi, je me suis contenté de bidouiller, en créant un tableau de 4594 lignes sur 136 colonnes et en cherchant dans chacune des 615 328 cellules concernées s'il y a une occurrence authors/query.
      Par sécurité, j'ai en dernière colonne les totaux par ligne (cela varie de 0 à 3)
      et en dernière ligne les totaux par colonne (cela varie de 0 à 19).

      https://www.cjoint.com/c/EIjbCmOYpDI
      0
      1. 0548 Messages postés 81 Statut Membre > Raymond PENTIER Messages postés 58229 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Bonjour Raymond,
        Merci pour tos mais j'ai pas pu accéder à votre fichier
        0
      2. Raymond PENTIER Messages postés 58229 Date d'inscription   Statut Contributeur Dernière intervention   17 494 > 0548 Messages postés 81 Statut Membre
         
        C'est très curieux ! Essaie de nouveau ...
        0
    2. 0548 Messages postés 81 Statut Membre
       
      oui c'est bon j'ai cru que vous m'avez envoyer un fichier et non pas une image
      0
  3. 0548 Messages postés 81 Statut Membre
     
    Re Bonsoir ,

    j'ai pu résoudre mon problème à l'aide de vos macro.
    j'ai utilisé ce code là :

    Option Explicit

    Sub Lister ()
    Dim Dico, d
    Dim Cel As Range, C As Range
    Dim Tablo
    Dim i As Byte
    Dim Texte As String
    Dim Nb As Integer

    Set Dico = CreateObject("Scripting.Dictionary")

    With Worksheets("Sheet1")
    For Each Cel In .Range("A2:A" & Range("A" &Rows.Count).End(xlUp).Row)
    Nb = 0
    Texte = ""
    For Each E In .Range("B2:B" & Range("B" & Rows.Count).End(xlUp).Row)
    If InStr(C, Cel) > 0 Then
    Nb = Nb + 1
    Tablo = Split(E, ";")
    For i = 0 To UBound(Tablo)
    If Not Dico.Exists(Trim(Tablo(i))) Then Dico(Trim(Tablo(i))) = ""
    Next i
    End If
    Next C
    For Each d In Dico.keys
    Texte = Texte & d & ", "
    Next d
    Cel1.Offset(0, 2) = Nb
    If Texte <> "" Then Cel.Offset(0, 3) = Left(Texte, Len(Texte) - 2)
    Dico.RemoveAll
    Next Cel
    End With
    End Sub

    Mais maintenant j'aimerai faire le même travail , pour les nouveaux noms qui sont affichés dans la colonne D.

    j'ai ajouté des variables et j'ai refais le même travail , en remplaçant C par E et d par f etc.. ; mais j'ai pas eu le résultat que veux.

    La raison est que j'ai maintenant plusieurs noms , séparées par des virgules .

    j'ai voulu jouer sur les fonction (left ; right ; search ;..) mais j'ai pas pu trouvé une méthode exacte pour tous le fichier .
    Je vous reviens en aide pour savoir comment faire Pour chercher tous les noms de la nouvelles colonnes D en B ?
    0