thunderstruck
XLDnaute Nouveau
Bonjour à tous,
Je suis sur un projet auquelle j'arrive au terme mais néanmoins je bloque sur une fonctionnalité que je n'arrive pas à faire fonctionner.
Je m'explique:
Mon fichier a une liste d'entreprise complexe dans une colonne(D) style: Nestlé International SA, Nestlé France, Symantec AG, Symantec corporation etc.
Dans une autre colonne(R) j'ai une liste de certaine entreprise qui m'intéresse mais le nom est raccourci(style: Nestlé, symantec, etc.)
Mon but est de faire une recherche avec chacun des mots de la colonne B dans la colonne A et de trouver tous les cellules qui contienne les mots de la cellule B.
Ensuite je colle à la suite toutes les entrées correspondant à mes mots clefs dans un autre onglet.
J'utilise actuellement la fonction "Find" mais je bloque déjà rien qu'en essayant de chercher la liste des entreprises se trouvant dans ma liste.
Quelqu'un pourrait-il m'aider?
Merci beaucoup d'avance pour votre aide!
Pour un peu plus de visuel(ceci est un exemple):
Cellule A:
A1 Dell computer
A2 Nestlé International
A3 Google SA
A4 Nestlé Company
A5 LVMH international
A6 Nestlé Nespresso
A7 Symantec AG
A8 Sectec international
A9 Total SA
A10 Total petrol
A11 Dell international
Cellule B:
B1 Nestlé
B2 Symantec
B3 Total
B4 HP
B5 Sectec
B6 Dell
=> le résultat dans mon autre onglets devrait être le suivant:
A1 Nestlé International
A2 Nestlé Company
A3 Nestlé Nespresso
A4 Symantec AG
A5 Total SA
A6Total petrol
A7 Sectec international
A8 Dell computer
A9 Dell international
Voilà mon code qui ne fonctionne qu'en partie, car ca ne me trouve pas tous les mots mais juste le premier de la liste(de plus elle ne me les copie pas dans l'autre onglets mais ca c'est une autre histoire, car je ne l'ai pas encore implémenté):
'Boucle for pour passer en revue l'entier de la colonne B
For i = Cells(1, 2).CurrentRegion.Rows.Count To 1 Step -1
'Recherche dans l'entier de la colonne A
With Worksheets(1).Range("A1:A65536")
'Recherche des mots de la colonne B
Set c = .Find(What:=Cells(i, 2), LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
firstAddress = c.Address
Set plage = c
MsgBox c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Next
Je suis sur un projet auquelle j'arrive au terme mais néanmoins je bloque sur une fonctionnalité que je n'arrive pas à faire fonctionner.
Je m'explique:
Mon fichier a une liste d'entreprise complexe dans une colonne(D) style: Nestlé International SA, Nestlé France, Symantec AG, Symantec corporation etc.
Dans une autre colonne(R) j'ai une liste de certaine entreprise qui m'intéresse mais le nom est raccourci(style: Nestlé, symantec, etc.)
Mon but est de faire une recherche avec chacun des mots de la colonne B dans la colonne A et de trouver tous les cellules qui contienne les mots de la cellule B.
Ensuite je colle à la suite toutes les entrées correspondant à mes mots clefs dans un autre onglet.
J'utilise actuellement la fonction "Find" mais je bloque déjà rien qu'en essayant de chercher la liste des entreprises se trouvant dans ma liste.
Quelqu'un pourrait-il m'aider?
Merci beaucoup d'avance pour votre aide!
Pour un peu plus de visuel(ceci est un exemple):
Cellule A:
A1 Dell computer
A2 Nestlé International
A3 Google SA
A4 Nestlé Company
A5 LVMH international
A6 Nestlé Nespresso
A7 Symantec AG
A8 Sectec international
A9 Total SA
A10 Total petrol
A11 Dell international
Cellule B:
B1 Nestlé
B2 Symantec
B3 Total
B4 HP
B5 Sectec
B6 Dell
=> le résultat dans mon autre onglets devrait être le suivant:
A1 Nestlé International
A2 Nestlé Company
A3 Nestlé Nespresso
A4 Symantec AG
A5 Total SA
A6Total petrol
A7 Sectec international
A8 Dell computer
A9 Dell international
Voilà mon code qui ne fonctionne qu'en partie, car ca ne me trouve pas tous les mots mais juste le premier de la liste(de plus elle ne me les copie pas dans l'autre onglets mais ca c'est une autre histoire, car je ne l'ai pas encore implémenté):
'Boucle for pour passer en revue l'entier de la colonne B
For i = Cells(1, 2).CurrentRegion.Rows.Count To 1 Step -1
'Recherche dans l'entier de la colonne A
With Worksheets(1).Range("A1:A65536")
'Recherche des mots de la colonne B
Set c = .Find(What:=Cells(i, 2), LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
firstAddress = c.Address
Set plage = c
MsgBox c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Next