Transformer une Sub en Function
Miss_tik76
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
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.
Mais je souhaiterai la transformer en fonction afin de l'appeler dans ma cellule D4 (par exemple) par la formule =bucket(D4).
Merci à tous pour votre aide ;)
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
Next
Next
End Function
Merci à tous pour votre aide ;)
A voir également:
- Transformer une Sub en Function
- Transformer une image en icone - Guide
- Transformer majuscule en minuscule word - Guide
- Transformer epub en kindle - Guide
- Transformer clavier qwerty en azerty - Guide
- Transformer un gif en vidéo - Guide