Masquer un seul classeur EXCEL via du VBA

bil_ly.16 Messages postés 10 Statut Membre -  
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis actuellement entrain de me faire une petite application en VBA via Excel 2007 et je désirerai que lorsque je clique sur mon fichier excel ma macro se lance et que le classeur excel ne soit plus visible.

Actuellement, j'arrive très bien à le faire en utilisant ce code :

Private Sub Workbook_Open()

Application.Visible = False 'quand l'application se lance, le fichier excel devient invisible,

Accueil.Show 'et la boite de dialogue d'accueil apparait

End Sub

mais si j'ai un autre fichier excel d'ouvert en même temps il me le rend invisble aussi ce que je ne désire surtout pas !!

Si je n'ai pas été assez clair dite le moi et si vous avez la solution dite le moi aussi ^^

PS : Je débute en VBA depuis 1semaine !!

A voir également:

4 réponses

gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour

Pour occulter ton classeur, il faut le préciser :

Windows(ActiveWorkbook.Name).Visible = False


Toujours zen
2
bil_ly.16 Messages postés 10 Statut Membre 1
 
Toujours pas :(

message d'erreur :

Erreur d'exécution'91':
Variable objet ou variable bloc With non définie

A mon avis il faut que je déclare la variable name non ?
du genre :

Private Sub Workbook_Open()

Name="Base de données.xls"
Windows(ActiveWorkbook.Name).Visible = False

Accueil.Show

End Sub
1
bil_ly.16 Messages postés 10 Statut Membre 1
 
Non même ça ne marche pas !
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

Une autre possibilité serait d'utiliser la propriété isAddin du classeur.
Regarde auparavant dans l'aide si les autres impacts ne sont pas gênants pour toi.

eric
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
Name="Base de données.xls"

attention name est un nom réservé !

avec
nom = ActiveWorkbook.Name

cela te donnera dans nom : "Base de données.xls"

Windows(ActiveWorkbook.Name).Visible = False

fonctionne chez moi aussi bien en 2003 qu'en 2007

Variable objet ou variable bloc With non définie

cela signifie que tu as des with ou des if non pairs et non fermés
0
bil_ly.16 Messages postés 10 Statut Membre 1
 
est ce que je peux t'envoyer mon fichier pour que tu regarde ?
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
Tu peux nous mettre un exemple de classeur, sans données identifiables et privées, mais avec la structure de tes données sur http://www.cijoint.fr/ puis nous mettre le lien généré ici.
0
bil_ly.16 Messages postés 10 Statut Membre 1
 
Je viens d'essayer ton code, mais la réaction est toujours la même !

Quand je lance mon fichier contenant ma macro (avec mes Userform), tout mes fichiers excel ouvert sont cachés par cette action :(

Merci quand même !
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
regardes j'ai modifié le code cela devrait fonctionner.
0
bil_ly.16 Messages postés 10 Statut Membre 1
 
Alors, tu voit le problème ou pas ??
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Re,

Je viens de tester, toute l'application est masquée en effet.
Pour que ça marche il faudrait ouvrir ton classeur dans une nouvelle session excel en utilisant un classeur intermédiaire pour charger celui-ci.
Jette un oeil sur cette discussion
eric
0
bil_ly.16 Messages postés 10 Statut Membre 1
 
Je vais essayer !
Merci bien !
0