IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[Excel 2013] : Exécuter une macro chaque sur un fichier qui change


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2017
    Messages : 7
    Par défaut [Excel 2013] : Exécuter une macro chaque sur un fichier qui change
    Bonsoir à tous,

    Je vous serai reconaissant si vous pouvez m'apporter votre aide pour résoudre le souci suivant :

    Je dois à partir d'un fichier excel faire apparaître un diagramme pour représenter des KPIs. C'est simple, il s'agit simplement d'un fichier excel contenant des enregistrements des rapports, leur dates d'envoi et leur date de réception après signature.

    Je dois donc faire apparaitre un diagramme ou l'axe horizentale sera la semaine W52, W43, ... et l'axe vertical sera le nombre de rapport. Le diagramme devrait présenter nombre de rapports crées, nombre de rapports envoyés, nombre de rapports reçus signés. Toutes ces informations je peux les tirer du fichier excel.

    Le problème est le suivant :

    Ce fichier Excel n'est qu'une extraction d'une application métier de l'entreprise. Alors, comme il m'est demandé d'automatiser ce travail par clique la macro je ne peux l'attribuer à un fichier excel car il change chaque fois que l'on extrait le fichier de l'application métier et donc à chaque fois que l'on veut représenter l'avancement sur une nouvelle période.

    J'ai pensé au suivant :

    Enregistrer une macro, sur une fichier Excel propre et je ferai comme j'ai le tableau que je vais extraire dans une feuille.
    après quand je télécharge le bon fichier, je transfère la feuille où il y'a le nouveau tableau au fichier où la macro est enregistrée.


    Qu'en dîtes vous ?

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Je n'ai pas bien compris ton explication mais si tu as des données sources variables, l'enregistreur automatique de macro ne va pas suffire. Il faut que ta macro puisse s'adapter aux différentes configurations.

    Le mieux est de faire un fichier Excel Modèle.
    Au lancement de ta macro, tu le copies et tu adaptes éventuellement cette copie aux dimensions de tes données sources.
    Puis tu transfères les données sources elles-mêmes.

    Il est généralement bien plus simple de créer toute la partie formatage dans un modèle et de ne transférer que les données plutôt que d'essayer de faire une mise en forme des données sources complètement en VBA.

  3. #3
    Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2017
    Messages : 7
    Par défaut
    Justement, je n'étais pas assez clair lors de mon premier message. J'ai mis en pièce jointe un exemple de ce que je souhaite faire.

    La première feuille contient ce que je télécharge de l'application métier. ( Le tableau reste le même évidemment, uniquement le nombre de ligne qui augmente bien sûr à chaque fois que l'on rajoute un rapport dans l'application)

    La deuxième feuille représente à titre indicatif ce que moi souhaite faire.

    Les W52, W53, ...

    Ce sont les semaines correspondante aux dates que j'ai ; C'est par exemple la semaine de la date d'envoi du rapport (de réception, de création ...) Je calculerai le numéro de la semaine à partir de la date enregistrée. Par exemple : pour un rapport envoyé le 11/12/2017 c'est la semaine : 50. C'est la fonction NO.SEMAINE.ISO("date").
    Mais, ce n'est pas uniquement cela! je dois calculer après, tous les rapports envoyés pendant la semaine et ceux reçues par semaine. Je sais pas encore comment le faire.. Le tableau de la feuille 2 était juste à tite indicatif :/ semaine de création du rapport = semaine d'envoi du rapport.
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Startinov Voir le message
    J'ai mis en pièce jointe un exemple de ce que je souhaite faire.
    Beaucoup de contributeurs à ce forum n'ouvrent pas les pièces jointes, entre autre pour les raisons expliquées ici :
    https://www.developpez.net/forums/d8...s-discussions/

    La première feuille contient ce que je télécharge de l'application métier. ( Le tableau reste le même évidemment, uniquement le nombre de ligne qui augmente bien sûr à chaque fois que l'on rajoute un rapport dans l'application)
    La deuxième feuille représente à titre indicatif ce que moi souhaite faire.
    Je ne vois pas de question dans ta demande.
    Est-ce que tu demandes qu'on fasse ce travail à ta place ?

  5. #5
    Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2017
    Messages : 7
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Beaucoup de contributeurs à ce forum n'ouvrent pas les pièces jointes, entre autre pour les raisons expliquées ici :
    https://www.developpez.net/forums/d8...s-discussions/


    Je ne vois pas de question dans ta demande.
    Est-ce que tu demandes qu'on fasse ce travail à ta place ?
    Evidémment que non !

    Si je n'ai pas réussi à vous expliquer mon problème, j'ai essayé, simplement, de le présenter concrétement.
    Merci en tout cas !

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Startinov Voir le message
    Si je n'ai pas réussi à vous expliquer mon problème, j'ai essayé, simplement, de le présenter concrétement.
    Dans ce cas, quelle est la difficulté que tu rencontres ?
    As-tu essayer d'appliquer la méthode que je t'ai indiqué ?

  7. #7
    Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2017
    Messages : 7
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Il est généralement bien plus simple de créer toute la partie formatage dans un modèle et de ne transférer que les données plutôt que d'essayer de faire une mise en forme des données sources complètement en VBA.
    Comme, il ne s'agit pas là d'un vrai changement de données mais juste de nouvel enregistremens et donc de nouvelles lignes qui s'ajoutent chaque fois en bas du tableau, j'ai fait un fichier excel type avec une macro qui permet d'aller chercher le fichier excel que je télécharge et le mettre sur la première feuille de mon fichier excel type avant d'appliquer la macro.

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ok mais je ne vois toujours pas la réponse à la question : quelle difficulté particulière rencontres-tu ?

Discussions similaires

  1. Réponses: 10
    Dernier message: 24/09/2019, 10h50
  2. Réponses: 5
    Dernier message: 25/04/2016, 15h44
  3. Réponses: 2
    Dernier message: 22/07/2015, 13h43
  4. [XL-2010] Exécuter une macro quand la couleur de cellule change.
    Par baptou42 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/05/2014, 14h16
  5. Réponses: 2
    Dernier message: 07/07/2008, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo