Recherche dans deux onglets différents

Bonjour,

Je cherche une solution pour ma base achat.

En effet, j'ai des prix anciens systèmes, et des prix nouveaux systèmes. J'aurai besoin de regrouper ces deux bases en considérant que :

  • la base référant est la base du nouveau système
  • si pas de prix dans le nouveau système, il me faut aller chercher la donnée dans l'ancien système
  • si pas de prix ni dans la base 1 ni dans la base 2 alors il faut indiquer 0

Quelqu'un a une idée ?

Merci

Bonjour le forum,

Feuille "Total Achat" :

C2 : =SIERREUR(SIERREUR(RECHERCHEV(A2;'Base achat 1'!A:C;3;0);RECHERCHEV(A2;'Base achat 2'!A:C;3;0));"")

Un grand merci.

Bonjour Sissou, bonjour le forum,

Essaie comme ça :

Sub Macro1()
Dim B1 As Worksheet 'déclare la variable B1 (onglet Base achat 1)
Dim B2 As Worksheet 'déclare la variable B2 (onglet Base achat 2)
Dim TA As Worksheet 'déclare la variable TA (onglet total achat)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim R1 As Range 'déclare la variable R1 (Recherche 1)
Dim R2 As Range 'déclare la variable R2 (Recherche 2)

Set B1 = Worksheets("Base achat 1") 'définit l'onglet B1
Set B2 = Worksheets("Base achat 2") 'définit l'onglet B2
Set TA = Worksheets("total achat") 'définit l'onglet TA
DL = TA.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée de la colonne A de l'onglet TA
For I = 2 To DL 'boucle sur toutes les lignes de 2 à DL
    'définit la recherche R1 (recherche la valeur exacte de la cellule de la boucle dans la colonne A de l'onglet B1)
    Set R1 = B1.Columns(1).Find(TA.Cells(I, 1), , xlValues, xlWhole)
    If Not R1 Is Nothing Then 'condition : si il existe au moins une occurrence
        TA.Cells(I, 3).Value = R1.Offset(0, 2) 'renvoie dans la cellule ligne I colonne 3 de l'onglet TA la correspondance de la première  occurrence trouvée
    Else 'sinon (aucune occurrence trouvée)
        'définit la recherche R2 (recherche la valeur exacte de la cellule de la boucle dans la colonne A de l'onglet B2)
        Set R2 = B2.Columns(1).Find(TA.Cells(I, 1), , xlValues, xlWhole)
        If Not R2 Is Nothing Then 'condition 2 : si il existe au moins une occurrence
            TA.Cells(I, 3).Value = R2.Offset(0, 2) 'renvoie dans la cellule ligne I colonne 3 de l'onglet TA la correspondance de la première  occurrence trouvée
        End If 'fin de la condition 2
    End If 'fin de la condition 1
Next I 'prochaine ligne de la boucle
End Sub

Bonjour à tous

Une variante.

Bye !

Rechercher des sujets similaires à "recherche deux onglets differents"