Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion icecream33
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

I

icecream33

Guest
Bonjour xliennes et xliens!

Voilà j'ai pi récupéré un code que j'ai un peu simplifié qui permet de comparer les lignes d'un classeur fermé avec celles d'un classeur ouvert mais c'est pas tout à fait ce que je veux!
En fait j'ai besoin que la macro compare chaque cellule une a une des 2 fichiers cad la A1 de la feuille1 du fichier ouvert avec la A1 de la feuille1 du fichier fermé et ainsi de suite sachant que les cellules peuvent etre aussi bien des valeurs du texte ou des formules et qui me colorie en vert par exemple les cellules qui sont differentes dans le fichier ouvert.En gros il faut rajouter une boucle sur les colonnes et une autre sur les feuilles.
 
Re : Modif de code

ah j'oubliais le code....


Sub Compare ()

Dim Rs As ADODB.Recordset
Dim Cn As String, Cible As String, Fichier As String
Dim j As Integer, x As Integer, i As Integer

Fichier = ThisWorkbook.Path & "\classeurFerme.xls"

'parametres pour la connection au classeur fermé
Cn = "DRIVER={Microsoft Excel Driver (*.xls)};" & _
"ReadOnly=1;DBQ=" & Fichier & ";" & "extended properties=""Excel 8.0;"""

'derniere ligne non vide dans le classeur ouvert
x = Range("A65536").End(xlUp).Row

Application.ScreenUpdating = False

'la procedure va boucler sur toutes les lignes du classeur ouvert et controler
'si une ligne identique existe dans le classeur fermé
For i = 2 To x
'parametrage de la requete pour comparer les lignes du classeur fermer
'avec le tableau du classeur ouvert
Cible = "SELECT * FROM [ListeKWE$] WHERE " & _
"Champ1='" & Cells(i, 1) & "' AND " & _
"Champ2=" & Cells(i, 2) & " AND " & _
"Champ3=" & Cells(i, 3) & " AND " & _
"Champ4='" & Cells(i, 4) & "' AND " & _
"Champ5='" & Cells(i, 5) & "'"

Set Rs = New ADODB.Recordset
Rs.Open Cible, Cn, adOpenKeyset

'colorie la ligne du classeur ouvert en rouge si une ligne identique est trouvée
If Rs.EOF Then Rows(i).Interior.ColorIndex = 3

Rs.Close
Set Rs = Nothing
Next i

Application.ScreenUpdating = True
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…