[Macro] Comparer 2 colonnes de deux fichiers differents

-miss-

XLDnaute Junior
Bonjour,

Je viens chercher de l'aide une deuxième fois ici car j'en ai un peu marre de faire une vérification à la main deux colonnes toute les semaines :s
je m'explique :

Je cherche à comparer 2 colonnes de deux fichiers différents , dont la première comporte des identifiants numériques (ex: 87954) (Colonnes A du classeur1.xls)
et la deuxièmes peut y avoir une lettre ou deux avant le chiffre ( ex @MF87954) (Colonne E classeurs2.xls)

Je veux qu'une macro me colorie les case d'un des deux fichiers si le numéro existe.

Est ce qu'il y au ne âme charitable qui peut m'aider pour ca, je vous remercie d'avance.
Si vous avez des questions je suis la ...

-Miss-
 

pierrejean

XLDnaute Barbatruc
Re : [Macro] Comparer 2 colonnes de deux fichiers differents

Re

Il convient egalement d'adapter les noms des feuilles
Voici la macro qui tourne
A noter que j'ai du réecrire egalement "Feuil1" , sans que j'ai pu en comprendre la raison
pour le transfert de la macro un bête copier/coller est a mon avis ce qu'il y a de plus simple

Code:
Sub test()
Set w1 = ActiveWorkbook
Set w2 = Workbooks("Issues.xls")
coul = 3
For n = 2 To w1.Sheets("Feuil1").Range("A65536").End(xlUp).Row
  For m = 2 To w2.Sheets("Issues R29-I").Range("E65536").End(xlUp).Row
    If InStr(w2.Sheets("Issues R29-I").Range("E" & m), w1.Sheets("Feuil1").Range("A" & n)) <> 0 Then
       w1.Sheets("Feuil1").Range("A" & n).Interior.ColorIndex = coul
       w2.Sheets("Issues R29-I").Range("E" & m).Interior.ColorIndex = coul
       coul = coul + 1
       If coul > 56 Then coul = 3
    End If
  Next m
Next n
End Sub
 

-miss-

XLDnaute Junior
Re : [Macro] Comparer 2 colonnes de deux fichiers differents

Re

Il convient egalement d'adapter les noms des feuilles
Voici la macro qui tourne
A noter que j'ai du réecrire egalement "Feuil1" , sans que j'ai pu en comprendre la raison
pour le transfert de la macro un bête copier/coller est a mon avis ce qu'il y a de plus simple

Code:
Sub test()
Set w1 = ActiveWorkbook
Set w2 = Workbooks("Issues.xls")
coul = 3
For n = 2 To w1.Sheets("Feuil1").Range("A65536").End(xlUp).Row
  For m = 2 To w2.Sheets("Issues R29-I").Range("E65536").End(xlUp).Row
    If InStr(w2.Sheets("Issues R29-I").Range("E" & m), w1.Sheets("Feuil1").Range("A" & n)) <> 0 Then
       w1.Sheets("Feuil1").Range("A" & n).Interior.ColorIndex = coul
       w2.Sheets("Issues R29-I").Range("E" & m).Interior.ColorIndex = coul
       coul = coul + 1
       If coul > 56 Then coul = 3
    End If
  Next m
Next n
End Sub

Que je suis bête!! c'est bien ca le nom de la feuille j'avais pas fais attention :S
merci en tout cas!
 

pierrejean

XLDnaute Barbatruc
Re : [Macro] Comparer 2 colonnes de deux fichiers differents

Re

Pour un report en Feuil2 de chacun des fichiers des lignes non colorées

Code:
Sub test()
Set w1 = ActiveWorkbook
Set w2 = Workbooks("Issues.xls")
coul = 3
For n = 2 To w1.Sheets("Feuil1").Range("A65536").End(xlUp).Row
  For m = 2 To w2.Sheets("Issues R29-I").Range("E65536").End(xlUp).Row
  'MsgBox (w1.Sheets("Feuil1").Range("A" & n) & " " & w2.Sheets("Issues R29-I").Range("F" & m))
    If InStr(w2.Sheets("Issues R29-I").Range("E" & m), w1.Sheets("Feuil1").Range("A" & n)) <> 0 Then
       w1.Sheets("Feuil1").Range("A" & n).Interior.ColorIndex = coul
       w2.Sheets("Issues R29-I").Range("E" & m).Interior.ColorIndex = coul
       coul = coul + 1
       If coul > 56 Then coul = 3
    End If
  Next m
Next n
w1.Sheets("Feuil2").Cells.ClearContents
w1.Sheets("Feuil1").Range("A1:F1").Copy Destination:=w1.Sheets("Feuil2").Range("A1")
For n = 2 To w1.Sheets("Feuil1").Range("A65536").End(xlUp).Row
 If w1.Sheets("Feuil1").Range("A" & n).Interior.ColorIndex = xlNone Or w1.Sheets("Feuil1").Range("A" & n).Interior.ColorIndex = 2 Then
   w1.Sheets("Feuil1").Range("A" & n & ":F" & n).Copy Destination:=w1.Sheets("Feuil2").Range("A65536").End(xlUp).Offset(1, 0)
 End If
Next n

w2.Sheets("Feuil2").Cells.ClearContents
w2.Sheets("Issues R29-I").Range("A1:F1").Copy Destination:=w2.Sheets("Feuil2").Range("A1")
For n = 2 To w2.Sheets("Issues R29-I").Range("A65536").End(xlUp).Row
 If w2.Sheets("Issues R29-I").Range("E" & n).Interior.ColorIndex = xlNone Or w2.Sheets("Issues R29-I").Range("E" & n).Interior.ColorIndex = 2 Then
   w2.Sheets("Issues R29-I").Range("A" & n & ":F" & n).Copy Destination:=w2.Sheets("Feuil2").Range("A65536").End(xlUp).Offset(1, 0)
 End If
Next n
End Sub
 

CAPRI_456

XLDnaute Occasionnel
Re : [Macro] Comparer 2 colonnes de deux fichiers differents

Re

Pour un report en Feuil2 de chacun des fichiers des lignes non colorées

Code:
Sub test()
Set w1 = ActiveWorkbook
Set w2 = Workbooks("Issues.xls")
coul = 3
For n = 2 To w1.Sheets("Feuil1").Range("A65536").End(xlUp).Row
For m = 2 To w2.Sheets("Issues R29-I").Range("E65536").End(xlUp).Row
'MsgBox (w1.Sheets("Feuil1").Range("A" & n) & " " & w2.Sheets("Issues R29-I").Range("F" & m))
If InStr(w2.Sheets("Issues R29-I").Range("E" & m), w1.Sheets("Feuil1").Range("A" & n)) <> 0 Then
w1.Sheets("Feuil1").Range("A" & n).Interior.ColorIndex = coul
w2.Sheets("Issues R29-I").Range("E" & m).Interior.ColorIndex = coul
coul = coul + 1
If coul > 56 Then coul = 3
End If
Next m
Next n
w1.Sheets("Feuil2").Cells.ClearContents
w1.Sheets("Feuil1").Range("A1:F1").Copy Destination:=w1.Sheets("Feuil2").Range("A1")
For n = 2 To w1.Sheets("Feuil1").Range("A65536").End(xlUp).Row
If w1.Sheets("Feuil1").Range("A" & n).Interior.ColorIndex = xlNone Or w1.Sheets("Feuil1").Range("A" & n).Interior.ColorIndex = 2 Then
w1.Sheets("Feuil1").Range("A" & n & ":F" & n).Copy Destination:=w1.Sheets("Feuil2").Range("A65536").End(xlUp).Offset(1, 0)
End If
Next n
 
w2.Sheets("Feuil2").Cells.ClearContents
w2.Sheets("Issues R29-I").Range("A1:F1").Copy Destination:=w2.Sheets("Feuil2").Range("A1")
For n = 2 To w2.Sheets("Issues R29-I").Range("A65536").End(xlUp).Row
If w2.Sheets("Issues R29-I").Range("E" & n).Interior.ColorIndex = xlNone Or w2.Sheets("Issues R29-I").Range("E" & n).Interior.ColorIndex = 2 Then
w2.Sheets("Issues R29-I").Range("A" & n & ":F" & n).Copy Destination:=w2.Sheets("Feuil2").Range("A65536").End(xlUp).Offset(1, 0)
End If
Next n
End Sub


For n = 2 To W1.Range("F65536").End(xlUp).Row
'pour chaque LIGNE de la colonne H du classeur a controler
For m = 3 To W2.Range("H65536").End(xlUp).Row

' MsgBox (w1.Sheets("Feuil1").Range("F" & n) & " " & w2.Sheets("Feuil1").Range("H" & m))


' si le contenu de la colonne F du classeur actuel est inclus dans la colonne H du second classeur alors
If InStr(W2.Range("H" & m), W1.Range("F" & n)) <> 0 Then '(si cellules identiques)
'appliquer la couleur aux 2 cellules concernées
'cette procédure n'est intéressante que pour vérifier l'efficacite de la comparaison
'donc ici , on peut la désactiver
W1.Range("F" & n).Interior.ColorIndex = coul
W2.Range("H" & m).Interior.ColorIndex = coul
' W2.Range("Q" & m).Value = geoVariable


jE SOUHAITERAI ICI RENVOYER UNE DONNen SITUEE EN Q3 ET QUI DOIR CONSTITUER LA GEOVARIABLE QUI ME PERMETTRA D'ENREGIGSRER le fichier sous UN NOM comprenant la geovariable.

Dim geoVariable As String
Dim ServeurEtRepertoire As String
Dim SousRepertoire As String


Merci

CAPRI_456

'geoVariable = "Chine"
geoVariable = W2.Range("H" & m).Value
ServeurEtRepertoire = "\\Czc0320sf0\Serveur-TNT-XLSPA-"
SousRepertoire = "manifestes-xls-du-"

End If
Next m
Next n
 

Pièces jointes

  • sec.xls
    14 KB · Affichages: 49
  • MASTEST.zip
    170.3 KB · Affichages: 59
  • sec.xls
    14 KB · Affichages: 53
  • sec.xls
    14 KB · Affichages: 56

Discussions similaires

Statistiques des forums

Discussions
311 721
Messages
2 081 929
Membres
101 843
dernier inscrit
Thaly