Classeur vierge au démarrage d'Excel ?

Résolu/Fermé
1Globule Messages postés 62 Date d'inscription mercredi 4 mai 2016 Statut Membre Dernière intervention 28 mars 2019 - 4 mai 2016 à 10:35
1Globule Messages postés 62 Date d'inscription mercredi 4 mai 2016 Statut Membre Dernière intervention 28 mars 2019 - 24 mai 2016 à 12:38
Bonjour à tous,

Je travaille avec un fichier de macros personnel, enregistré dans XLStart sous Personal.xlsb.
Depuis peu, je souhaite également avoir un second fichier de macros, pour moi mais aussi pour mes collègues.

J'ai enregistré ce nouveau fichier "Config" sur le serveur de l'entreprise, je l'ai partagé pour chacun de mes collègues, et dans les options avancées d'Excel, j'ajoute le chemin du dossier dans : "Au démarrage, ouvrir tous les fichiers du dossier :"

C'est vraiment chouette, tout fonctionne très bien à un détail près : Les deux classeurs s'ouvrent et sont masqués (c'est bien ce que je veux), mais il n'y a plus de classeur vierge ouvert au démarrage d'Excel. C'est tout gris, il faut ouvrir un nouveau document à la main.
Comme c'est assez gênant, j'ai inséré dans un de mes deux fichiers cachés :
Private Sub Workbook_Open()
Workbooks.add
End Sub

Je pensais en avoir fini, car c'est parfait. Si j'ouvre Excel, un document vide apparait et les deux fichier "Personal.xlsb" et "Config.xlsm" sont ouverts en arrière-plan.
Le petit problème se présente quand je veux ouvrir un fichier Excel quelconque, disons "Comptes". Le fichier "Comptes" s'ouvre alors, mais un classeur vide est créé et s'ouvre en même temps. J'ai donc deux classeurs ouverts (ce que je ne veux pas).

Suis-je assez clair, et avez-vous une solution ?

Merci beaucoup !

A voir également:

7 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 709
4 mai 2016 à 10:47
Bonjour,

Avant de faire ton
Workbooks.add 
il te faut tester que ton nombre de classeurs soit à zéro.
If Workbooks.Count < 1 Then Workbooks.Add
0
1Globule Messages postés 62 Date d'inscription mercredi 4 mai 2016 Statut Membre Dernière intervention 28 mars 2019 2
4 mai 2016 à 11:02
Hum, le problème se règle si j'ouvre le fichier "Comptes", car seul ce fichier s'ouvre. Par contre, si je lance Excel sans ouvrir de fichier, il n'y a pas de classeur vierge au démarrage.

J'ai supposé que les deux classeurs masqués étaient comptés, et j'ai modifié ton code par If Workbooks.count=2 then Workbooks.Add
Le problème est alors inverse, un classeur vierge s'ouvre même si je démarre Excel en ouvrant le fichier "Comptes"...
Je pense que la procédure teste le nombre de classeurs dès l'ouverture d'Excel, avant même que le fichier "Comptes" soit ouvert (entre le démarrage d'Excel et l'ouverture du fichier, en fait)...
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 709
4 mai 2016 à 11:54
Bonjour,

En général le test à égalité est sujet à soucis. Si tes 2 classeurs sont comptés (cela dépend de leur ouverture) :
 If Workbooks.count<3 then Workbooks.Add 
0
1Globule Messages postés 62 Date d'inscription mercredi 4 mai 2016 Statut Membre Dernière intervention 28 mars 2019 2
4 mai 2016 à 11:59
Merci pour ton aide, gbinforme, mais malheureusement le problème est le même :
"If Workbooks.count<3" ou "If Workbooks.count=2" donnent la même chose : Si j'ouvre mon fichier "Comptes", j'ai un classeur vierge qui s'ouvre en même temps...
0
1Globule Messages postés 62 Date d'inscription mercredi 4 mai 2016 Statut Membre Dernière intervention 28 mars 2019 2
4 mai 2016 à 13:56
Personne n'aurait une idée ?
C'est un sujet assez pointu, j'en conviens, mais il y a toujours des experts, normalement, sur CCM !
0
1Globule Messages postés 62 Date d'inscription mercredi 4 mai 2016 Statut Membre Dernière intervention 28 mars 2019 2
18 mai 2016 à 13:50
Personne ne travaille avec des classeurs Perso partagés entre collègues ? Je n'ai toujours pas réussi à régler ce problème...

Merci !
0
thev Messages postés 1884 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 17 novembre 2024 691
18 mai 2016 à 21:44
Je ne comprends pas pourquoi tu n'enregistres pas tes macros personnelles en ".xlam"
Avec cette extension, il n'y a pas de souci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
1Globule Messages postés 62 Date d'inscription mercredi 4 mai 2016 Statut Membre Dernière intervention 28 mars 2019 2
24 mai 2016 à 09:59
J'ai essayé l'extension XLAM mais pour qu'elle fonctionne, il faut que le fichier soit enregistré dans "Users \ appData \ Roaming \ Microsoft \ AddIns".

Or ce que je souhaite, c'est partager ce fichier entre collègues, donc sur un répertoire commun (ce qui n'est pas le cas de "Users \ appData").
0
thev Messages postés 1884 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 17 novembre 2024 691
24 mai 2016 à 11:04
J'ai essayé l'extension XLAM mais pour qu'elle fonctionne, il faut que le fichier soit enregistré dans "Users \ appData \ Roaming \ Microsoft \ AddIns".


Je viens de réessayer avec Excel 2013. Cela fonctionne avec n'importe que dossier. Vous n'avez peut être pas la même version d' Excel.
0
1Globule Messages postés 62 Date d'inscription mercredi 4 mai 2016 Statut Membre Dernière intervention 28 mars 2019 2
24 mai 2016 à 12:38
Ca y est !
Merci à Thev de m'avoir mis sur la piste.

La solution consiste à créer un fichier XLAM et à l'enregistrer sur un répertoire commun.
Sur le poste de chaque utilisateur, aller dans les compléments et ajouter le fichier en passant par le bouton "Parcourir".
Excel demande si le fichier doit être copié dans la bibliothèque personnelle : C'était là mon erreur : Il faut répondre Non.
En répondant oui, le fichier est automatiquement copié vesr le répertoire "AddIns", et les macros pointent vers ce fichier, sans utiliser le fichier du répertoire commun (le partage devient inutile). Par contre, en répondant non, les macros pointent bien vers le répertoire commun.

Pour l'instant j'ai installé trois utilisateurs, il n'y a pas de conflit, tout fonctionne parfaitement.

Merci à tous pour votre aide précieuse.
0