Bonjour,
J'ai créé une fonction personnalisée avec des données qui se trouvent dans de différentes feuilles.
Lorsque je spécifie explicitement les bonne feuille dans le code cela fonctionne très bien mais lorsque j'enlève le prefix ThisWorkbook.Worksheets("FeuilleCible") le code ne reconnais pas les données dans l'autre feuille et il se base uniquement sur la feuille active (là où j'ai exécute la fonction).
Public Function RechercheV_multi(val_cherchees, mat_chercher, val_check, mat_check, mat_rules As Range, Optional Separator As String) As String
'Application.Volatile
Worksheets("Feuil2").Activate
Dim k, i, nbval_mat_chercher As Integer
nbval_mat_chercher = ThisWorkbook.Worksheets("Feuil2").Application.WorksheetFunction.CountA(mat_chercher)
If Separator = "" Then Separator = " ; "
i = 1
For k = 2 To nbval_mat_chercher
i = i + 1
If ThisWorkbook.Worksheets("Feuil2").Cells(k, mat_chercher.Column) = Cells(Application.ThisCell.Row, val_cherchees.Column) Then
If ThisWorkbook.Worksheets("Feuil2").Cells(i, mat_check.Column) = val_check Then
If RechercheV_multi = "" Then
RechercheV_multi = ThisWorkbook.Worksheets("Feuil2").Cells(i, mat_rules.Column)
Else
RechercheV_multi = RechercheV_multi & Separator & ThisWorkbook.Worksheets("Feuil2").Cells(i, mat_rules.Column)
End If
End If
End If
Next k
End Function
Je veux enlevé la sélection manuelle de la feuille et laisser la fonction se baser sur la sélection que j'ai faites en introduisant les paramètre de cette dernière.
Avez-vous une idée SVP ?
Merci Cordialement