Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 01/07/2009, 18h46   #1
Membre régulier
 
Avatar de allergique
 
Homme
Inscription : août 2006
Messages : 146
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : août 2006
Messages : 146
Points : 77
Points : 77
Par défaut Ouverture fichier au démarrage du PC

Bonjour,

Je souhaite ouvrir un fichier automatiquement tous les jours au démarrage du PC.

J'ai donc mis un raccourci de mon fichier excel dans le menu Démarrer/Programmes/Démarrage

Le problème est que l'application excel s'ouvre, mais pas le classeur excel.

Avez-vous une idée de pourquoi ça ne marche pas?

J'ai essayé également de programmer une tâche windows mais on peut exécuter un programme mais pas un fichier...

Merci pour votre aide!
allergique est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 19h29   #2
Membre Expert
 
Avatar de laetitia
 
Inscription : décembre 2002
Messages : 1 281
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : décembre 2002
Messages : 1 281
Points : 1 363
Points : 1 363
bonjour allergique le forum bizarre tous ca comment tu as mis ca dans Démarrer/Programmes/Démarrage ???
__________________
SALUTATIONS
laetitia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 20h30   #3
Membre régulier
 
Avatar de allergique
 
Homme
Inscription : août 2006
Messages : 146
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : août 2006
Messages : 146
Points : 77
Points : 77
Bonjour Laetitia,

J'ai créé un raccourci du fichier, et j'ai fait un glisser dans le menu démarrer.

Lors du démarrage du pc seule l'application excel s'ouvre, mais si je déconnecte ma session et la reconnecte sans arrêter le pc le fichier excel s'ouvre bien.

Je me demande si c'est pas tous les programmes qui tournent en tâche de fond au démarrage qui viennent polluer l'ouverture du fichier
allergique est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 23h39   #4
Inactif
 
Inscription : juillet 2007
Messages : 4 555
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 4 555
Points : 5 005
Points : 5 005
Bonjour,

fais un petit projet avec ceci :

un Userform avec un bouton de commande Command1 et ce code :

Code :
1
2
3
4
Private Sub Command1_Click()
   fic$ = "D\toto\titi\tata.xls" 'ici, mets le chemin complet de ton classeur, à la place de ce que j'ai écrit
   SaveString HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "WinTray", fic$
End Sub

Unb module bas avec ce code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const HKEY_PERFORMANCE_DATA = &H80000004
Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_DYN_DATA = &H80000006
 
Public Const REG_NONE = 0
Public Const REG_SZ = 1 ' Unicode nul terminated string
Public Const REG_EXPAND_SZ = 2
Public Const REG_BINARY = 3
Public Const REG_DWORD = 4
Public Const REG_DWORD_LITTLE_ENDIAN = 5
Public Const REG_LINK = 6
Public Const REG_MULTI_SZ = 7
Public Const REG_RESOURCE_LIST = 8
Public Const REG_FULL_RESOURCE_DESCRIPTOR = 9
Public Const REG_RESOURCE_REQUIREMENTS_LIST = 10
Public Const REG_QWORD = 11
 
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
 
 
Public Sub SaveString(hKey As Long, strPath As String, strValue As String, strData As String)
  Dim ret
  RegCreateKey hKey, strPath, ret
  RegSetValueEx ret, strValue, 0, REG_SZ, ByVal strData, Len(strData)
  RegCloseKey ret
End Sub
lance ton appli et click sur command1...
Quitte Windows et reboot et vois ...

Il est clair que tu peux faire la même chose en intervenant directement (et non par programme) sur ta base de registre ...
ucfoutu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 08h55   #5
Membre Expert
 
Avatar de laetitia
 
Inscription : décembre 2002
Messages : 1 281
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : décembre 2002
Messages : 1 281
Points : 1 363
Points : 1 363
bonjour allergique l'ami ucfoutu le forum une autre methode sans toucher au registre. sous xp vista ca doit être pareil??
en 1 je fais un raccourci du fichier sur le bureau
puis
menu demarrer puis puis clic droit sur le dossier demarrage clic sur ouvrir puis
dans la fenetre qui s'ouvre clic droit dans la fenetre qui s'ouvre dans un emplacement vide puis nouveau > raccourci > clic sur la fenetre qui s ouvre parcourir choisir un programme clic sur suivant pour fermer la fenetre terminer .
__________________
SALUTATIONS
laetitia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 18h54   #6
Membre régulier
 
Avatar de allergique
 
Homme
Inscription : août 2006
Messages : 146
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : août 2006
Messages : 146
Points : 77
Points : 77
Bonjour,

Le système d'exploitation sur lequel le problème intervient est windows 2000.
J'ai testé sur XP chez moi et a a l'air de fonctionner.

Laetitia, j'ai testé la manip pour le raccourci mais rien ne change, excel s'ouvre mais sans classeur.

Ucfoutu, est-ce qu'il y a un risque au niveau de la modification de la base de registre?
C'est sur le pc de mon travail que ça ne marche pas, donc j'ai un peu peur de me faire taper dessus par le service informatique si je fais une erreur de manip!

La première partie de code où on créé une clef avec le raccourci du fichier excel il n'y a pas de problème. J'ai fait la manip (sans faire la 2ème partie de ton code pour l'instant) mais pas de changement.

Par contre, la 2ème partie de code j'ai du mal à voir ce qui est changé dans le registre et je n'ai pas encore testé.
Est-ce qu'il y a moyen de revenir en arrière sur les modifications de registre si il y a un problème?

En attendant j'ai cherché à faire un .bat qui exécute le fichier excel.
Ca ouvre le fichier excel correctement mais j'ai l'invite de commande "cmd.exe" qui reste ouverte, et que je dois fermer manuellement.
Est-ce qu'on peut en fin de code de macro vérifier si la fenêtre de commande est ouverte et la fermer automatiquement?
allergique est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 19h22   #7
Inactif
 
Inscription : juillet 2007
Messages : 4 555
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 4 555
Points : 5 005
Points : 5 005
Si tu n'es pas l'administrateur du système et que le responsable a empêché la modification de la base de registre, tu ne pourras rien faire sans qu'il t'y autorise (c'est clair). S'il l'a fait, c'est pour une raison qu'il est seul à connaître.

Si tu es en réseau, c'est encore plus délicat, bien évidemment.

A toi de voir, au besoin avec lui !

En ce qui concerne la faculté de "revenir en arrière", il suffit de détruire la clé créée, soit directement dans la base de registre, soit par utilisation de la fonction RegDeleteKey de l'Api de Windows

Nous n'y viendrons en détail et avec le code que lorsque tu auras eu l'aval du responsable informatique.
ucfoutu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 14h16   #8
Membre régulier
 
Inscription : janvier 2008
Messages : 121
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 121
Points : 91
Points : 91
Bonjour,

Voici une autre idée:

Puisque tu arrives à faire ouvrir excel , pourquoi ne pas le faire ouvrir sur le dossier que tu veux avec un "private sub workbook_open"?

Mon excel s'ouvre toujours sur ma feuille PERSO.XLS.Voici mon code plaçait dans le ThisWorkbook

Code :
1
2
3
4
Private Sub Workbook_Open()
Feuil1.Activate
Application.CommandBars("Task Pane").Visible = True
End Sub
et tu essayes en remplaçant Feuil1 par Workbooks(nom_du_dossier).activate
La Zélie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 14h45   #9
Inactif
 
Inscription : juin 2007
Messages : 2 055
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 2 055
Points : 2 023
Points : 2 023
Bonjour tou(te)s,
Un moyen simple, dans le menu demarrage mettre un raccourci de l'appli Excel (pas le classeur)
Dans le répertoir...
Programmes\Microsoft Offfice\Office\XLStart
mettre un raccourci du classeur.
A+
LeForestier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 14h46   #10
Membre confirmé
 
Avatar de casavba
 
Inscription : juillet 2007
Messages : 446
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 446
Points : 251
Points : 251
Citation:
Envoyé par allergique Voir le message
Bonjour,
En attendant j'ai cherché à faire un .bat qui exécute le fichier excel.
Ca ouvre le fichier excel correctement mais j'ai l'invite de commande "cmd.exe" qui reste ouverte, et que je dois fermer manuellement.
Est-ce qu'on peut en fin de code de macro vérifier si la fenêtre de commande est ouverte et la fermer automatiquement?
Bonjour,

à mon avis la commande "Exit" en fin de batch suffit

Exemple:

Code :
1
2
start c:\test.xls
exit
tu mets ton fichier dans le dossier démarrage et normalement tout fonctionnera comme on le souhaite.
casavba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 16h21   #11
Membre éprouvé
 
Inscription : juillet 2003
Messages : 354
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : juillet 2003
Messages : 354
Points : 416
Points : 416
Bonjour à tous !

Une version bourrin :
Tu ouvres l'appli avec le path/nom du fichier
Tu kill le processus cmd.exe

Code :
1
2
3
@echo off
"Chemin\Excel.exe" "Chemin\Fichier.xls"
TSKill /a cmd.exe

C'est moche, je sais. Je me déteste.

Si un modo du forum batch passe par là, je suis mort


La méthode de Casavba reste la plus propre.
Trust est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 20h36   #12
Membre régulier
 
Avatar de allergique
 
Homme
Inscription : août 2006
Messages : 146
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : août 2006
Messages : 146
Points : 77
Points : 77
Citation:
Envoyé par ucfoutu Voir le message
Si tu n'es pas l'administrateur du système et que le responsable a empêché la modification de la base de registre, tu ne pourras rien faire sans qu'il t'y autorise (c'est clair). S'il l'a fait, c'est pour une raison qu'il est seul à connaître.

Si tu es en réseau, c'est encore plus délicat, bien évidemment.

A toi de voir, au besoin avec lui !

En ce qui concerne la faculté de "revenir en arrière", il suffit de détruire la clé créée, soit directement dans la base de registre, soit par utilisation de la fonction RegDeleteKey de l'Api de Windows

Nous n'y viendrons en détail et avec le code que lorsque tu auras eu l'aval du responsable informatique.

Bonjour tout le monde!


j'ai essayé ton code, mais le résultat est identique

J'ai cherché sur google et ce problème est à priori connu sur windows 2000 mais je n'ai pas trouvé de site où ils ont trouvé la cause.
allergique est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 20h42   #13
Membre régulier
 
Avatar de allergique
 
Homme
Inscription : août 2006
Messages : 146
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : août 2006
Messages : 146
Points : 77
Points : 77
Citation:
Envoyé par La Zélie Voir le message
Bonjour,

Voici une autre idée:

Puisque tu arrives à faire ouvrir excel , pourquoi ne pas le faire ouvrir sur le dossier que tu veux avec un "private sub workbook_open"?

Mon excel s'ouvre toujours sur ma feuille PERSO.XLS.Voici mon code plaçait dans le ThisWorkbook

Code :
1
2
3
4
Private Sub Workbook_Open()
Feuil1.Activate
Application.CommandBars("Task Pane").Visible = True
End Sub
et tu essayes en remplaçant Feuil1 par Workbooks(nom_du_dossier).activate
J'arrive à lancer excel, mais le problème est qu'il n'y a aucune feuille d'ouverte pour mettre du code.


Citation:
Envoyé par LeForestier Voir le message
Bonjour tou(te)s,
Un moyen simple, dans le menu demarrage mettre un raccourci de l'appli Excel (pas le classeur)
Dans le répertoir...
Programmes\Microsoft Offfice\Office\XLStart
mettre un raccourci du classeur.
A+

Le fichier ne sert qu'à faire des mises à jour une fois par jour seulement, donc ça serait un peu embêtant si excel exécutait le fichier à chaque fois que je le lance...
allergique est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 20h53   #14
Membre régulier
 
Avatar de allergique
 
Homme
Inscription : août 2006
Messages : 146
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : août 2006
Messages : 146
Points : 77
Points : 77
Citation:
Envoyé par casavba Voir le message
Bonjour,

à mon avis la commande "Exit" en fin de batch suffit

Exemple:

Code :
1
2
start c:\test.xls
exit
tu mets ton fichier dans le dossier démarrage et normalement tout fonctionnera comme on le souhaite.
Ton code fonctionne bien sur mon pc perso, donc je vais me conserver celui-là!

Je le testerai lundi sur windows 2000 pour confirmer que tout va bien et je vous dirai quoi...

Pour mon information, qu'est-ce qui fait qu'avec "start c:\test.xls", le fichier excel s'ouvre et la fenêtre de commande se referme tout de suite, alors qu'avec le code "C:\Program Files\Microsoft Office\OFFICE11\excel.exe" "c:\test.xls" la fenêtre de commande ne se ferme qu'après que le fichier excel soit fermé?

Quelle est la particularité de "start"?

Merci à tous de vous être penchés sur mon problème
allergique est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 21h43   #15
Membre régulier
 
Inscription : janvier 2008
Messages : 121
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 121
Points : 91
Points : 91
Bonjour allergique

XLSTART:c'est là que se trouve ma page PERSO.XLS et ainsi on fait ouvrir Excel sur la page ou le dossier.xls que l'on veut.

START, STARTER = départ ( c'est ma traduction à moi ; comme j'ai fait de l'athlétisme quand j'étais jeune, c'est comme cela que je le comprends).

XLSTART = départ, démarrage d'Excel.

@+
La Zélie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2009, 13h39   #16
Membre confirmé
 
Avatar de casavba
 
Inscription : juillet 2007
Messages : 446
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 446
Points : 251
Points : 251
Citation:
Envoyé par allergique Voir le message

Pour mon information, qu'est-ce qui fait qu'avec "start c:\test.xls", le fichier excel s'ouvre et la fenêtre de commande se referme tout de suite, alors qu'avec le code "C:\Program Files\Microsoft Office\OFFICE11\excel.exe" "c:\test.xls" la fenêtre de commande ne se ferme qu'après que le fichier excel soit fermé?

Quelle est la particularité de "start"?
La particularité de "start" c'est qu'elle n'attend pas que le programme [excel par exemple] soit fermé. Elle lance le programme et ferme illico la fenêtre DOS.

pour mieux comprendre, je te demanderais de lire ça
http://www.computerhope.com/starthlp.htm

Aussi je te demanderais de refaire ton batch mais de cette façon:

Code :
start /wait c:\test.xls
Que remarques-tu ?
casavba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2009, 08h27   #17
Membre régulier
 
Avatar de allergique
 
Homme
Inscription : août 2006
Messages : 146
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : août 2006
Messages : 146
Points : 77
Points : 77
Citation:
Envoyé par casavba Voir le message
La particularité de "start" c'est qu'elle n'attend pas que le programme [excel par exemple] soit fermé. Elle lance le programme et ferme illico la fenêtre DOS.

pour mieux comprendre, je te demanderais de lire ça
http://www.computerhope.com/starthlp.htm

Aussi je te demanderais de refaire ton batch mais de cette façon:

Code :
start /wait c:\test.xls
Que remarques-tu ?
Bonjour,

Maintenant il attend qu'excel soit fermé pour que la fenêtre de commande se ferme.
J'ai compris le principe!

Merci pour le lien internet qui est intéressant.
allergique est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2009, 18h29   #18
Membre régulier
 
Avatar de allergique
 
Homme
Inscription : août 2006
Messages : 146
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : août 2006
Messages : 146
Points : 77
Points : 77
Bonjour,

J'ai testé sur windows 2000 et le fichier .bat fonctionne bien

Merci pour votre aide
allergique est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 13h35.


 
 
 
 
Partenaires

Hébergement Web