ThisWorkbook.VBProject.VBComponents ne fonctionne pas

Bonjour

J'ai une Userform1 ( Menu) qui contient un label1 "Dossier archivage 2025" et un commandButton "Changement de millésime" qui va modifier toutes les occurrences 2025 et les remplacer par 2026.
Cela est réalisé sans problème

Je veux faire en sorte que ce label1 devienne "Dossier archivage 2026" dans l'userform Menu. Si j'exécute l'opération depuis le commandButton "Changement de Millésime" qui appelle Macro3, la ligne suivante apparait en jaune
"ThisWorkbook.VBProject.VBComponents("Menu").Designer.Controls("Label1").Caption = "Dossier Archivage " & an2 "

et j'ai ce message : "Erreur d'exécution '91'" "variable objet ou variable de bloc With non définie"

thisworkbook

par contre si je l'exécute directement avec F5, ou à partir d'un autre bouton auquel cette procédure a été affectée, dans un autre Userform, la réalisation est correcte

et je retrouve "Dossier Archivage 2026" dans le menu

archiv

Que l'userform Menu apparaisse ou pas (Unload) ne change rien
Merci de vos avis

Bonjour,

Mais pourquoi passer par cette méthode compliquée quand vous pouvez simplement écrire ?

Menu.Label1.Caption = "2026"

L'erreur doit venir du fait qu'une instance de l'UF est déjà lancé et donc le "modèle" n'est plus modifiable lors de l'exécution.

Mais si vous passiez par le chemin "standard" que je vous indique, vous ne devriez pas avoir de problème.

Bonjour
...cette commande ne fonctionne pas mais cela m'a mis sur une piste ....car toute modification du formulaire Menu commence par l'exécution de "Userform initialize" dont j'ai besoin, et, à chaque fois que Menu est appelé, il exécute les instructions initiales, sans prendre en compte des modification qui ne lui sont pas intégrées..

D'où l'idée de copier la modification du label dans une cellule de Feuil1, en BD1 et de rajouter dans "Userform initialize", ces lignes :
If [BD1] <> "" Then
Label1 = [BD1]
End If
...et ça marche...
Merci

Rechercher des sujets similaires à "thisworkbook vbproject vbcomponents fonctionne pas"