VBA : Masquer un seul classeur Excel

Bonjour

Je cherche à masquer un classeur pour voir seulement l'userforme mais à garder les autres classeurs visibles

" Application. Visible = False" fonctionne mais la macro me masque tous les classeurs ouverts

j'ai trouvé "Windows(Active Workbook. Classeur1.xlsx). Visible = False" mais j'ai une erreur d'exécution 438

( Pour l'exemple j'utilise le Classeur1 )

Merci d'avance

Bonjour LucasT,

Placez l'instruction suivante lors de l'activation du UserForm Windows(ThisWorkbook.Name).Visible = False sans oublier de le réafficher lors de la fermeture du formulaire Windows(ThisWorkbook.Name).Visible = True .

Cdlt,

Cylfo

Bonjour merci pour votre réponse

J'ai oublié une précision

Depuis mon userfome j'ai des macros qui vont lire un tableau dans une feille

Si je masque excel les macros ne trouve pas la feuille (Error 9)

bonsoir,

pour moi, A chaque utilisation il faudra le rendre visible et juste après l'opération le cacher à nouvea.

Cordialement

Bonjour LucasT, ghisnob,

Il n'est pas nécessaire de jongler entre le démasquage / re masquage pour accéder aux onglets et données du classeur. Par contre pour accéder aux onglets, il faut utiliser soit le nom technique de la feuille (Feuil1 qui dans l'exemple ci-joint est lié à l'onglet Data), soit définir une variable de type Worksheet et l'affecter à la feuille. Par contre, l'utilisation des objets Activesheet, Worksheet("NomDeL'onglet"), Range(xx) ou tout autre référence qui n'est pas associé à un objet précis et qui désigne implicitement le classeur actif génèrera des erreurs.

Voir l'exemple ci-joint, le 1er bouton utilise le nom technique de la feuille, le 2ème défini une variable Worksheet et retourne respectivement une donnée de la feuille "Data".

4exemple.xlsm (21.36 Ko)

Cdlt,

Cylfo

Merci Cylfo

Bonjour

Merci de ta réponse ( Désoler de la réponse tardive)

j'ai passé beaucoup de temps à expérimenter ton ficher

Si je comprends bien on ne peut pas cibler une cellule précisément

Feuil2.Range("E6").Value

merci

Bonsoir,

Il n'y a pas de souci si tu utilises Feuil2.Range("E6").Value, c'est Range("E6").Value qui ne fonctionnerait pas.

Cdlt,

Cylfo

Rechercher des sujets similaires à "vba masquer seul classeur"