Bonjour,
Mon besoin : j'extraie un fichier csv depuis un site, j'ai configuré le navigateur pour qu'il l'ouvre automatiquement, et je voudrais que dès qu'il est ouvert dans Excel une macro se lance pour traiter ce fichier.
Est-ce possible ?
Merci
Bonjour,
Mon besoin : j'extraie un fichier csv depuis un site, j'ai configuré le navigateur pour qu'il l'ouvre automatiquement, et je voudrais que dès qu'il est ouvert dans Excel une macro se lance pour traiter ce fichier.
Est-ce possible ?
Merci
Bonjour
De façon générale on déconseille d'ouvrir un csv avec Excel qui le cuisine mal à la sauce US
Il est préférable de l'importer afin de paramétrer le format notamment de date et de nombre. Avec 365 PowerQuery est l'outil par excellence et c'est le fichier contenant la requête qui doit s'ouvrir.
Le fichier change-t-il de nom ou de dossier à chaque extraction ?
Chris
PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
----------------------------------------------------------------------------------------------
En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...
Oui, je sais bien, je suis limité par les directives et je dois utiliser des outils souvent peu adaptés :/
Mais si vous me dites qu'il n'y a pas moyen de déclencher une macro "générique" à l'ouverture de n'importe quel fichier excel (dont csv dans ce cas là), ça m'arrange aussi, hein, j'aurais une réponse à donner
RE
PowerQuery fait partie d'excel donc je ne saisis pas ta réponse et tu n'as pas répondu aux questions...
Chris
PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
----------------------------------------------------------------------------------------------
En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...
Oublions la requête et le fichier csv.
Est-ce qu'il y a un moyen de déclencher une macro automatiquement à l'ouverture d'un fichier excel quelconque (donc sans macro) et d'afficher par exemple son nom ?
RE
Il faut créer un module de classe dans un xlam toujours ouvert par le lancement d'Excel ou dans le classeur de macro personnelles, définir une classe et en définir et gérer les évènements
Chris
PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
----------------------------------------------------------------------------------------------
En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...
Salut.
Dans un xlam que tu places dans le XLSTART ou dans le fichier PERSO.XLSB placé lui aussi dans le XLSTART, tu peux placer le code suivant dans le module ThisWorkbook:
Dès lors, à chaque ouverture de fichier Excel, tu en récupères le nom, et tu peux tester si c'est un csv ou autre grâce à la variable wb qui pointe vers le classeur que tu viens d'ouvrir. Il faut toutefois noter qu'en cas de plantage de code, la variable App risque d'être vidée et qu'il faudra tout relancer (fermer complètement Excel) ou réactiver la macro qui initialise App.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Option Explicit Dim WithEvents App As Excel.Application Private Sub App_WorkbookOpen(ByVal Wb As Workbook) MsgBox Wb.Name End Sub Private Sub Workbook_Open() Set App = Excel.Application End Sub
Par cette approche, tu peux en fait gérer les évènements d'application
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Bonjour Pierre
C'est effectivement plus simple que ce que j'ai dans un xlam et évite le module de classe
Chris
PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
----------------------------------------------------------------------------------------------
En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager