Ameliorer une macros

teodormircea

XLDnaute Occasionnel
Bonjour tout le Monde

J'ai trouve un code sur un site MSDN , qui trouve des Match parfait entre 2 colonnes et puis les colorie en vert. Le problème c'est que les colonnes doivent avoir les même dimensions et les valeurs qui sont Match doivent être sur la même ligne.
Je voudrais améliorer ce code pour trouver des Match dans des colonnes a des dimensions variables et valeurs qui sont pas sur la même ligne.
J'ai joint un exemple avec le code VBA
 

Pièces jointes

  • Match.zip
    9.2 KB · Affichages: 24
  • Match.zip
    9.2 KB · Affichages: 43
  • Match.zip
    9.2 KB · Affichages: 23

teodormircea

XLDnaute Occasionnel
Re : Ameliorer une macros

Merci pour votre aide les gars.Les format conditionnel c'est une solution, j'aurais préféré une macros, comme çà je vais apprendre a les utiliser.Le truc c'est que ci c'est 2 colonnes approche A et B, chose facile dans ce cas, mais j'ai des colonnes qui ne sont pas approches, comme A et G par exemple, c'est pour ça que j'aurais préféré une macros.
Merci encore
 
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Ameliorer une macros

>JB : tout comme avec ta MeFC en A, il colorie la valeur.

J'ai compris qu'il fallait un matching entre A et B.
Si le même code existe 2 fois dans la colonne A et n'existe pas en B ,c'est une anomalie?

JB
 

JCGL

XLDnaute Barbatruc
Re : Ameliorer une macros

Re,

JB : seul teodormircea pourra répondre. J'ai fait, comme toi, avec ce que j'ai compris de la demande

teodormircea : les deux formules de MeFC peuvent s'appliquer sur des colonnes "distantes". Il suffit de changer les lettres de colonnes dans les formules

A+
 

kjin

XLDnaute Barbatruc
Re : Ameliorer une macros

Bonjour,
Un peu long avec beaucoup de lignes mais bon:
Sub CompareColumns()
Dim Rang1 As Range
Dim Rang2 As Range
Set Rang1 = Application.InputBox("Selectionner la Première Colonne", Type:=8)
If Rang1.Columns.Count > 1 Then
Do Until Rang1.Columns.Count = 1
MsgBox "Vous ne pouvez sélectionner qu'une seule colonne"
Set Rang1 = Application.InputBox("Selectionner la Première Colonne", Type:=8)
Loop
End If
Set Rang2 = Application.InputBox("Selectionner la Seconde Colonne", Type:=8)
If Rang2.Columns.Count > 1 Then
Do Until Rang2.Columns.Count = 1
MsgBox "Vous ne pouvez sélectionner qu'une seule colonne"
Set Rang2 = Application.InputBox("Selectionner la Seconde Colonne", Type:=8)
Loop
End If
For Each Cel1 In Rang1
For Each Cel2 In Rang2
If Cel1 <> "" And Cel2 <> "" And Cel1 = Cel2 Then
Cel1.Interior.Color = vbGreen
Cel2.Interior.Color = vbGreen
End If
Next
Next
End Sub

A+
kjin
 
Dernière édition:

Discussions similaires

Réponses
12
Affichages
231
Réponses
14
Affichages
346

Statistiques des forums

Discussions
314 948
Messages
2 114 650
Membres
112 206
dernier inscrit
salah zabi