J'ai créer une Sub qui fonctionne très bien en l'appelant par un bouton.
Je compare les 3 cellules à droite de la cellule où je veux que le résultat se copie. Si ces 3 cellules sont identiques à celles de la feuille Buckets il me copie le texte en colonne D.
Sub Bouton5_Cliquer()
Application.ScreenUpdating = False
For ligne = 4 To 100
For ligne1 = 2 To 62
If Cells(ligne, "E").Value = Worksheets("Buckets").Cells(ligne1, "A").Value Then If Cells(ligne, "F").Value = Worksheets("Buckets").Cells(ligne1, "B").Value Then If Cells(ligne, "G").Value = Worksheets("Buckets").Cells(ligne1, "C").Value Then Worksheets("Buckets").Cells(ligne1, "D").Copy Worksheets("Inventory").Cells(ligne, "D").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End If End If End If
Next
Next
End Sub
Mais je souhaiterai la transformer en fonction afin de l'appeler dans ma cellule D4 (par exemple) par la formule =bucket(D4).
Function bucket(Cellulecourante As Range) As String
For ligne = 4 To 100
For ligne1 = 2 To 62
If Cellulecourante.Offset(0, 1).Value = Worksheets("Buckets").Cells(ligne1, "A").Value Then If Cellulecourante.Offset(0, 2).Value = Worksheets("Buckets").Cells(ligne1, "B").Value Then If Cellulecourante.Offset(0, 3).Value = Worksheets("Buckets").Cells(ligne1, "C").Value Then Worksheets("Buckets").Cells(ligne1, "D").Copy Worksheets("Inventory").Cellulecourante.Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End If End If End If