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 (permalink)
Membre régulier
 
Date d'inscription: août 2006
Localisation: Yvelines
Messages: 131
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
Vieux 01/07/2009, 19h29   #2 (permalink)
Membre Expert
 
Avatar de laetitia
 
Date d'inscription: décembre 2002
Localisation: 38
Âge: 20
Messages: 1 161
Par défaut

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
Vieux 01/07/2009, 20h30   #3 (permalink)
Membre régulier
 
Date d'inscription: août 2006
Localisation: Yvelines
Messages: 131
Par défaut

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
Vieux 01/07/2009, 23h39   #4 (permalink)
Inactif(ve)
 
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 4 569
Par défaut

Bonjour,

fais un petit projet avec ceci :

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

Code :
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 :
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
Vieux 02/07/2009, 08h55   #5 (permalink)
Membre Expert
 
Avatar de laetitia
 
Date d'inscription: décembre 2002
Localisation: 38
Âge: 20
Messages: 1 161
Par défaut

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
Vieux 02/07/2009, 18h54   #6 (permalink)
Membre régulier
 
Date d'inscription: août 2006
Localisation: Yvelines
Messages: 131
Par défaut

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
Vieux 02/07/2009, 19h22   #7 (permalink)
Inactif(ve)
 
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 4 569
Par défaut

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
Vieux 03/07/2009, 14h16   #8 (permalink)
Membre régulier
 
Date d'inscription: janvier 2008
Localisation: Bourges
Messages: 124
Par défaut

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 :
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
Vieux 03/07/2009, 14h45   #9 (permalink)
Inactif(ve)
 
Date d'inscription: juin 2007
Localisation: Belqique
Messages: 2 074
Par défaut

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
Vieux 03/07/2009, 14h46   #10 (permalink)
Membre éprouvé
 
Avatar de casavba
 
Date d'inscription: juillet 2007
Localisation: Quelque part en Hexagone
Messages: 430
Par défaut

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 :
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
Vieux 03/07/2009, 16h21   #11 (permalink)
Membre éclairé
 
Date d'inscription: juillet 2003
Localisation: Lille
Âge: 27
Messages: 359
Par défaut

Bonjour à tous !

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

Code :
@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
Vieux 03/07/2009, 20h36   #12 (permalink)
Membre régulier
 
Date d'inscription: août 2006
Localisation: Yvelines
Messages: 131
Par défaut

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
Vieux 03/07/2009, 20h42   #13 (permalink)
Membre régulier
 
Date d'inscription: août 2006
Localisation: Yvelines
Messages: 131
Par défaut

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 :
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
Vieux 03/07/2009, 20h53   #14 (permalink)
Membre régulier
 
Date d'inscription: août 2006
Localisation: Yvelines
Messages: 131
Par défaut

Citation:
Envoyé par casavba Voir le message
Bonjour,

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

Exemple:

Code :
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
Vieux 03/07/2009, 21h43   #15 (permalink)
Membre régulier
 
Date d'inscription: janvier 2008
Localisation: Bourges
Messages: 124
Par défaut

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
NEWS EXCELF.A.Q EXCELTUTORIELS EXCELSOURCES EXCELOUTILS EXCELLIVRES EXCELOFFICE 2010

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 07h08.


Vos questions techniques : forum d'entraide Excel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.