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 :
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 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
La fonction est appelée, elle effectue tout son protocole et arrivé à End Function elle me jette à la figure un joli :
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
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![]()
Partager