Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Fermeture Excel avec son instance applicative

dje14

XLDnaute Nouveau
Bonjour as tous,

je rencontre un souci que je n'arrive pas a solutionner, du coup je demande votre aide.

Voila j'ai un fichier excel qui me sert seulement pour éxecuter un code vba. ce code ouvre via un .bat un autre fichier excel.

jusque la tous marche bien.

Mon souci est que j'aimerais que le premier fichier s'ouvre puis se referme une fois la macro terminé mais qu'il se ferme correctement. c'est a dire qu'actuellement j'arrive éventuellement à fermé la feuille mais pas l'application. Il me reste toujours la fenêtre vierge (grise) de excel.

j'ai essayé application.quit qui fonctionne mais évidement il me ferme tous les documents excel ouvert dont le fichier ouvert par le .bat.

j'avais pensé a killer le process via taskkill, mais le souci c'est que je n'arrive pas à lui préciser le nom de la feuille. du coup il ferme tous les excels.

Je ne sais pas si je suis clair dans mon explication.

merci à vous

Cdt
 

patricktoulon

XLDnaute Barbatruc
re
bonjour
ca veut tout simplement dire que tout tes fichiers sont ouverts dans la même instance
ca veut dire aussi que ton fichier ouvert par le bat ouvre d'autres fichiers dans la macro
et donc c'est la dessus qu'il faut travailler
c'est a dire au lieu de faire dans ta macro
workbooks.open(......)
il faut que tu crée une autre instance d'excel pour ouvrir ton 2d fichier et les suivants eventuellement
 

dje14

XLDnaute Nouveau
Bonjour, merci à toi.

mais je ne comprend pas, car j'ai bien deux instances différentes?

Voila ce que j'obtiens actuellement:



et si je cherche a fermer juste la fenêtre derrière ça ne marche pas ou alors ca ferme les deux.

ce sera peut être plus clair.

Cdt
 

patricktoulon

XLDnaute Barbatruc
re
ben je ferais un getobject sur les classeur et selon le classeur je ferme le ".Parent" qui est l'instance du classeur au moins tu es sur de fermer la bonne instance
maintenant il me faut la mcro qui ouvre les classeur suivants pour voir
 

dje14

XLDnaute Nouveau
Voila ce que j'ai dans ma feuille de base.

Après j'ai enlever tous les codes que j'avais mis car ça ne fonctionner pas comme je le souhaitais.

Pour info je suis un peu autodidacte sur vba et débutant. Je recupère beaucoup sur internet et j'adapte, donc il est possible que cela te choque

Private Sub Workbook_Open()

Dim ret As Long

chemin = "C:\Users\" & Environ("UserName") & "\OneDrive\Documents\Utilitaire\feuille de consigne.bat"

ret = Shell(chemin)

Application.SendKeys ("{NUMLOCK}"), True

End Sub

et dans le .bat:

"C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE" /x https://recouv.sharepoint.com/❌/r/s...artages/important/Feuille% de% consignes.xlsb

En faite je suis obligé de passer par un .bat pour lancer mon autre feuille car sinon je suis en lecture seul. Et oui je galère aussi avec sharepoint pour ça.
 

dje14

XLDnaute Nouveau
Oui c'est un truc tous simple.

Et maintenant, je cherche juste à le fermer proprement pour laisser que la deuxième feuille car la première et du coup inutile.

Elle me sert juste à lancer le .bat.

Car en faite, le but final. C'est d'envoyer à heure fix sur teams un message avec un lien pour ouvrir le deuxième fichier qui est sur sharepoint.

Il y a bien une possibilité de mettre directement URL du fichier. Mais si tu fais ça, il t'ouvre le fichier en lecture seule ou en excel online qui ne joue pas les macros du deuxième fichier.

Du coup j'ai trouvé que cette méthode qui me permet de mettre le premier fichier via l'URL. Celui ci ce lance en lecture seul et joue la macro qui envoi le .bat qui lui m'ouvre bien le deuxième fichier en modification partagé.

Ou je sais, c'est un tordu mais je n'ai pas trouvé de meilleur solution pour l'instant.
 

patricktoulon

XLDnaute Barbatruc
va dans
  1. ton dossier syncro de one drive dans tes document
  2. click droite dessus ton fichier bat
  3. dans le menu choisi "créer un raccourci"
  4. déplace le raccourci sur ton bureau qui vient de se créer dans le dossier
  5. et vire moi ce classeur 1
tu ouvrira ton fichier avec ce raccourci
terminé
 

dje14

XLDnaute Nouveau
non, ça ne fonctionnera pas.

car le but est que plusieurs personnes puisse ouvrir le fichier via un lien de fichier dans sharepoint mis par power automate dans teams.

sinon je ne me prendrais pas la tête.
 

patricktoulon

XLDnaute Barbatruc
c'est absurde
il faut bien que tout le monde puisse avoir accès a ce classeur 1 pour le lancer donc un raccourcci ou le fichier c'est pareil
si je te suis il faut que tout ce qui utilise le fichier l'ai en sa possession
je ne vois pas ce qui a de différent avec un raccourci sauf qu'il n'y a pas d'instance d'excel
apres je ne peut pas aller plus loin moi je suis déconnecté de mon one drive
je préfère aller sur les app web de one drive autrement dit je n'ai pas syncronisé

ps: il n'y a aucune raison que le raccourci ne fonctionne pas
si ca ne marche pas c'est que tu a un sérieux problème logiciel
 

dje14

XLDnaute Nouveau
Oui je me doute que cela fonctionne. Mais cela implique que tous le monde install le raccourci sur son bureau.

Alors que si tu fais un lien cliquable qui arrive dans un canal teams envoyé par power automate. Pas besoin de télécharger ou même de créer le raccourci. il suffira de cliquer dessus.
 

Discussions similaires

Réponses
8
Affichages
217
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…