Lancer un shell et garder la main dans Excel
pivecleyrac
Messages postés
8
Statut
Membre
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche à mettre à jour un fichier excel à son ouverture.
Je suis sur un serveur dolibarr, ou je gère une base de tarif d'articles, et j'ai un fichier Excel, qui récupère les tarifs. Or je n'ai pas réussi à me connecter à la base de données, donc j'ai créé un fichier php, sur mon site qui créé un fichier .csv dans mon répertoire téléchargement.
A l'ouverture de mon fichier excel, j'ouvre avec shell le fichier php via Chrome.
Le problème, c'est que je perds la main d'Excel, et donc ne peut plus continuer automatiquement ma macro.
Voici ma macro:
Si quelqu'un a des suggestions je suis preneur.
Merci d'avance.
Christophe
Je cherche à mettre à jour un fichier excel à son ouverture.
Je suis sur un serveur dolibarr, ou je gère une base de tarif d'articles, et j'ai un fichier Excel, qui récupère les tarifs. Or je n'ai pas réussi à me connecter à la base de données, donc j'ai créé un fichier php, sur mon site qui créé un fichier .csv dans mon répertoire téléchargement.
A l'ouverture de mon fichier excel, j'ouvre avec shell le fichier php via Chrome.
Le problème, c'est que je perds la main d'Excel, et donc ne peut plus continuer automatiquement ma macro.
Voici ma macro:
Sub Lance_Tarif()
Dim navigate As String
navigate = "https://le nom de mon site/excel.php"
Shell "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe " & navigate, 0
..... la macro continue
End Sub
Si quelqu'un a des suggestions je suis preneur.
Merci d'avance.
Christophe
A voir également:
- Main courante excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel trier par ordre croissant chiffre - Guide
7 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour, veux-tu dire que la macro s'arrête en attendant que chrome se termine?
Bonjour et merci de t'intéresser à ma question.
Non la macro continue, malheureusement, mais la fenêtre chrome devient active et le reste.
Je dis malheureusement, car j'aimerais que la macro attende la fin du processus de téléchargement du fichier .csv avant de continuer. J'ai mis une tempo Application.Wait (Now + TimeValue("0:00:09")), mais suivant la rapidité de la connexion, des fois ce n'est pas assez long.
Merci d'avance.
Non la macro continue, malheureusement, mais la fenêtre chrome devient active et le reste.
Je dis malheureusement, car j'aimerais que la macro attende la fin du processus de téléchargement du fichier .csv avant de continuer. J'ai mis une tempo Application.Wait (Now + TimeValue("0:00:09")), mais suivant la rapidité de la connexion, des fois ce n'est pas assez long.
Merci d'avance.
Oui effectivement, le fichier que je crée permet de récupérer des données.
Il est forcément absent avant de le créer, je le supprime à la fin de ma macro.
pour tester la présence, on fait un do while?
Il est forcément absent avant de le créer, je le supprime à la fin de ma macro.
pour tester la présence, on fait un do while?
Merci pour ces infos, j'ai fait :
ça à l'air de fonctionner.
Comme je l'expliquais dans mon premier message, ma macro ouvre chrome, pour télécharger le fichier. J'aimerais le faire en arrière plan, et garder la main sur Excel. Pour la définition du Shell je me suis aidé de cette page https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/shell-function
mais en mettant 0 ou 6 cela ne change rien...
While Fs.FileExists("monfichier.txt") <> True
Application.Wait (Now + TimeValue("0:00:01"))
Wend
ça à l'air de fonctionner.
Comme je l'expliquais dans mon premier message, ma macro ouvre chrome, pour télécharger le fichier. J'aimerais le faire en arrière plan, et garder la main sur Excel. Pour la définition du Shell je me suis aidé de cette page https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/shell-function
mais en mettant 0 ou 6 cela ne change rien...
Dim navigate As String navigate = "https://le nom de mon site/excel.php" Shell "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe " & navigate, 0
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour,
vous pourriez ouvrir l'application en mode réduit ?
ex : start /min "" "C:\Windows\notepad.exe"
Cordialement,
vous pourriez ouvrir l'application en mode réduit ?
ex : start /min "" "C:\Windows\notepad.exe"
Cordialement,
Bonjour Chris_33000
Merci pour ta réponse.
je ne trouve pas comment écrire la fonction start. Pourrais-tu me dire ou on la trouve, merci d'avance.
Cordialement.
Merci pour ta réponse.
je ne trouve pas comment écrire la fonction start. Pourrais-tu me dire ou on la trouve, merci d'avance.
Cordialement.
C'est presque parfait messieurs, encore une petite question, la commande
Shell "C:\Program Files\Internet Explorer\iexplore.exe " & navigate , vbMinimizedNoFocus
ouvre une fenêtre pour me demander si je veux ouvrir ou enregistrer le fichier. Est-il possible d'obliger le fichier à s'enregistrer? Peur-être en php?
Merci d'avance.
Shell "C:\Program Files\Internet Explorer\iexplore.exe " & navigate , vbMinimizedNoFocus
ouvre une fenêtre pour me demander si je veux ouvrir ou enregistrer le fichier. Est-il possible d'obliger le fichier à s'enregistrer? Peur-être en php?
Merci d'avance.