Excel rechercher / comparer

Christophe -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

Je me sers régulièrement du logiciel Excel, mais le problème est que je ne m'y connais pas du tout en programmation. (J'ai excel 2003 sur windows XP)

Je souhaite comparer 2 listes et indiquer s'il trouve la valeur dans la colonne B l'emplacement de la cellule identique. Je m'explique :

Colonne A / Colonne B / Colonne C
ba bi / / gi
bu / / ru
re / / ma
ta / /ba
ro / /bi

Je souhaite qu'il compare la colonne A avec la C, et qu'il m'indique dans la colonne B les cellules de la colonne C qui sont présentes dans la A.
Exemple :

Colonne A / Colonne B / Colonne C
ba bi / C4 et C5 / gi
bu / X / ru
re / X / ma
ta / X / ba
ro / X / bi

La difficulté par rapport aux forum que j'ai vu est qu'il fallait que les cellules des colonnes A et C soient exactement les même, hors là même si une partie de la cellule est présente ça me va et il faut qu'il indique l'ensemble des cellules qu'il trouve (Comme si je faisais un Ctrl+F)

Merci d'avance, et bonne journée

A voir également:

1 réponse

ccm81 Messages postés 11033 Statut Membre 2 433
 
bonjour
un début de réponse ?
à mettre dans un module (alt-F11 pour acceder à l'éditeur puis copier/coller)

Public Sub cherche()
Const lideb = 1
Dim lifin As Long, lia As Long, lic As Long
Dim pres As String
lifin = Range("A65536").End(xlUp).Row
For lia = lideb To lifin
  pres = ""
  For lic = lideb To lifin
    If InStr(lideb, Range("A" & lia).Value, Range("C" & lic).Value) > 0 Then
      pres = pres & " - C" & lic
    End If
  Next lic
  If pres = "" Then
    pres = "X"
  End If
  Range("B" & lia).Value = pres
Next lia
End Sub


ou bien a attacher à un bouton de la boite a outils controles
Private Sub CommandButton1_Click()
Const lideb = 1
Dim lifin As Long, lia As Long, lic As Long
Dim pres As String
lifin = Range("A65536").End(xlUp).Row
For lia = lideb To lifin
  pres = ""
  For lic = lideb To lifin
    If InStr(lideb, Range("A" & lia).Value, Range("C" & lic).Value) > 0 Then
      pres = pres & " - C" & lic
    End If
  Next lic
  If pres = "" Then
    pres = "X"
  End If
  Range("B" & lia).Value = pres
Next lia
End Sub


bonne suite
0