Comparer des valeurs dans deux différents classeurs

Bonjour,

En étant débutant stagiaire en VBA j'ai ce petit problème :

j'ai un dossier qui s'appelle : ("POP AUTO V2") et je vais travailler sur le classeur : ("YZMALC_V2") dans ce classeur j'ai créer un bouton pour ouvrir le deuxième dossier ("BA_AUTO") pour faire des recherches dedans l'objectif et de comparer les valeurs donc je veux que le code il va aller me chercher les valeurs que j'ai dans le : Workbooks("BA_AUTO").Worksheets("AD F1").Range("E10:E11").Value et après je veux qu'il fasse le même chose avec le worksheets("AB F2")Range("E13:E14").Value dans le workbooks(POP AUTO V2").worksheets("CCARBM").Range("S3:S24").Value
et s'il trouve un de ces valeurs je veux que il met une alerte dans le Range("S3:S24") par exemple changement de couleur voilà !!

J'espère que j'ai été clair sur ce que je veux sinon je reste entièrement à votre disposition pour que vous compreniez mon problème que j'ai merci d'avance l'équipe

Cdlt

Mon code :
Option Explicit

Private Sub Bouton_Click()
    Dim BA_AUTO As Workbook
    Dim Nom_Fichier As String
    Dim vData As Range
    Dim myRange As Range
    Dim Compid As Range
    Nom_Fichier = "C:\AZEDDD.xlsx"              '--- \ 
    If Nom_Fichier <> False Then
        Set myRange = Workbooks("POP AUTO V2").Worksheets("CCARBM").Range("S3:S24")
        Set AG_F = Application.Workbooks.Open(Nom_Fichier)
        AG_F.Worksheets("AD F1").Activate
        AG_F.Worksheets("AB F2").Activate
        For Each vData In myRange.Cells    '--- teste chaque cellule de "S3:S24"
            Set Compid = Worksheets("AD F1").Range("E10:E11"),Worksheets("AB F2").Range("E13:E14").Find(vData.Value, LookIn:=xlValues)
            If Not Compid Is Nothing Then
                vData.Interior.ColorIndex = 6
            End If
        Next vData
        Set vData = Nothing
        Set Compid = Nothing
        Set myRange = Nothing
        MsgBox ("AD IS CHECKED WITH SUCCES")
    End If
    ActiveWorkbook.Close savechanges:=False
End Sub

Hello,

Où est l'erreur dans ton code ?

L’erreur est là:

J’arrive pas a lui dire de me faire ça dans les deux feuilles

Set Compid = Worksheets("AD F1").Range("E10:E11"),Worksheets("AB F2").Range("E13:E14").Find(vData.Value, LookIn:=xlValues)

Tu dois faire 2 variables et non une seule (compid)

Une qui recherche dans la feuille ADF1 et une autre qui recherche dans ADF2

Si aucune = nothing alors couleur = 6

Tu peux m’écrire en format code ? Stp merci

qqch comme ceci :

dim compid1 as range
dim compid2 as range
For Each vData In myRange.Cells    '--- teste chaque cellule de "S3:S24"

            Set compid1 = Worksheets("AD F1").Range("E10:E11").Find(vData.Value, LookIn:=xlValues)
set compid2 = Worksheets("AB F2").Range("E13:E14").Find(vData.Value, LookIn:=xlValues)
            If Not Compid1 Is Nothing and not compid2 is nothing Then
                vData.Interior.ColorIndex = 6
            End If
        Next vData

Bonjour Rag02700
Voilà ce que j'ai essayé avec ce que tu m'a envoyé le code il s'exécute sans aucun problème mais il trouve rien, et quand je met Compid1 en commentaire là il me trouve les valeurs.
t'as une idée ?
Merci d'avance

Private Sub Bouton_Click()

Dim BA_AUTO As Workbook

Dim Nom_Fichier As String

Dim vData As Range

Dim myRange As Range

Dim Compid As Range

Dim Compid1 As Range

Dim SaSa As Range

Dim ZaZa As Range

Nom_Fichier = "C:\AZEDDD.xlsx" '--- \

Set BA_AUTO = Application.Workbooks.Open(Nom_Fichier)

Set SaSa = Worksheets("AD F1").Range(E10:E11)

Set ZaZa = Worksheets("AB F2").Range(E12:E14)

On Error Resume Next

Set myRange= Workbooks(""POP AUTO V2").Worksheets("CCARBM").Range("S3:S24")

For Each vData In myRange.Cells '--- teste chaque cellule de "S3:S24"

Set Compid = SaSa.Find(vData.Value, LookIn:=xlValues) Set Compid1 = ZaZa.Find(vData.Value, LookIn:=xlValues)

If Not Compid Is Nothing Then 'And Not Compid1 Is Nothing Then

vData.Interior.ColorIndex = 6

End If

Next vData

Set vData = Nothing

Set Compid = Nothing

Set Compid1= Nothing

Set myRange = Nothing

MsgBox ("AD IS CHECKED WITH SUCCES")

End If

ActiveWorkbook.Close savechanges:=False

End Sub

hello,

essaye peut être d'activer les feuilles de recherche avant le find.

Sinon voici un exemple, le résultat est bon.

Rechercher des sujets similaires à "comparer valeurs deux differents classeurs"