VBA Recopier cellule en fonction de deux variables

Bonjour,

Je n'arrive pas à réaliser un code fonctionnel. J'aimerais qu'il me copie la valeur d'une cellule en fonction de deux critères.

14scan.xlsm (18.75 Ko)

Bonjour scarfy25,

Voici un code qui effectue la recherche de prix.

Pour cela, on compare les valeurs concaténées de la colonne "Produit" et de la colonne "Article" des deux tableaux.

On utilise simplement 2 boucles : la première pour balayer tous les couples de la feuille 2 et la deuxième pour rechercher une correspondance dans la feuille 1.

Pour optimiser ce traitement, tu peux utiliser des tableaux intermédiaires afin d’augmenter la rapidité d’exécution.

Sub Bouton1_Cliquer()
Dim Plage As Range, Cel As Range
Dim i As Long
    Application.ScreenUpdating = False
    With Worksheets("Feuil2")
        Set Plage = .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row)
    End With
    With Worksheets("Feuil1")
        For Each Cel In Plage
            For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row
                If Cel & Cel.Offset(0, 1) = .Range("A" & i) & .Range("A" & i).Offset(0, 1) Then
                    Cel.Offset(0, 9) = .Range("A" & i).Offset(0, 2)
                    Exit For
                End If
            Next i
        Next Cel
    End With
End Sub

A+

Bonjour,

EDIT : Pas vu le post de Frangy

tu peux aussi recopier ce code dans ta plage de cellules prix

=SOMME.SI.ENS(Feuil1!C:C;Feuil1!A:A;A:A;Feuil1!B:B;B:B)

Cordialement

Merci à vous deux.

C'est déjà assez rapide avec ton code frangy. Je vais regarder avec les tableaux intermédiaires par curiosité.

Rechercher des sujets similaires à "vba recopier fonction deux variables"