Bonjour,

Bon voilà j'ai un petit soucis pour récupérer l'Address d'un Range.

Explication :

Sur la première page de mon classeur j'ai des Zones de liste, créées à partir de la barre d'outil de Formulaire et j'aimerais mettre à jour leur contenu à la volée quand justement on ajoute/modifie/supprime des éléments de leur Plage source.

Voici le code sensé faire cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Set feuille = ThisWorkbook.Worksheets("Formulaire de saisie")
 
    With feuille.Shapes("List Box 6")
        .ListFillRange = "Données_EPLE!" & CherchePlage(ThisWorkbook.Worksheets("Données_Secteur")).Address
        .LinkedCell = "$B$4"
        .MultiSelect = xlNone
        .Display3DShading = False
    End With
Mon erreur vient à la fin de ma fonction CherchePlage qui est codée de la façon suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Public Function CherchePlage(ByVal feuilleSource As Worksheet) As Range
    Dim firstCell As Range, lastCell As Range
 
    With feuilleSource
        Set firstCell = .Cells(1, 1)
        Set lastCell = .Cells(.Rows.Count, 1)
        If IsEmpty(lastCell.Value) Then
            Set lastCell = lastCell.End(xlUp)
        End If
        Set CherchePlage = .Range(firstCell, lastCell)
    End With
End Function
La fonction est appelée, elle effectue tout son protocole et arrivé à End Function elle me jette à la figure un joli :

Erreur d'exécution '438' : Propriété ou méthode non gérée par cet objet.

J'avais déjà posté il y a peu pour un soucis avec ma Function et voilà qu'elle continue...

Merci d'avance