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

0548 Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -  
0548 Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

4 réponses

Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Une proposition avec une macro VBA
https://www.cjoint.com/c/EIjlDhbl46t

A+
1
0548 Messages postés 73 Date d'inscription   Statut Membre Dernière intervention  
 
Merci infiniment
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

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

1
0548 Messages postés 73 Date d'inscription   Statut Membre Dernière intervention  
 
Merci infiniment pour tous
0
Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
Salut.

Il y en a 612 !
0
Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
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
0548 Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   > Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bonjour Raymond,
Merci pour tos mais j'ai pas pu accéder à votre fichier
0
Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354 > 0548 Messages postés 73 Date d'inscription   Statut Membre Dernière intervention  
 
C'est très curieux ! Essaie de nouveau ...
0
0548 Messages postés 73 Date d'inscription   Statut Membre Dernière intervention  
 
oui c'est bon j'ai cru que vous m'avez envoyer un fichier et non pas une image
0
0548 Messages postés 73 Date d'inscription   Statut Membre Dernière intervention  
 
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