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 :

Ventiler des lignes dans des classeurs séparés


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Ventiler des lignes dans des classeurs séparés
    Bonjour a tous,


    me voila empêtré dans une manip que je n'arrive pas a faire:

    je reçois un classeur excel tous les mois sur la feuille 1 j'ai des données

    service; regime; agent, montant1; montant2; etc... sur une 10aine de colonnes
    service1; reg_general; dupont;25; 30;...
    service1; reg_general; durant; 32; 45; ...
    service1; reg_spéécifique; duboit; 26; 17; ...
    service2; reg_general; paul;25; 30;...
    service2; reg_general; marc; 32; 45; ...
    service2; reg_spéécifique; david; 26; 17; ...

    l'ensemble fait 600 lignes pour 45 services environ

    en feuille 2 je crée un tableau de synthèse spécifique a chaque service qui fait tout un tas de calcul

    on me demande ensuite d'envoyer le classeur excel par mail aux 40 services avec uniquement les données qui le concerne
    sachant que:

    il n'y a pas tous les mois le meme nombre de service
    il n'y a pas le meme nombre d'agent dans les services
    le classeur est trié par service puis par régime

    en imaginant que je traite l'envoie de mail a la main, est il deja possible que:

    je fais le tableau de synthèse sur la feuille 2 alors que sur la feuille 1 il y a l'intégralité des données
    je lance une macro qui parcourt les lignes du tableau et génère un classeur excel par service avec la feuille 2 !

    je demande la lune vous pensez ?
    ou y a t'il une autre manière de procéder ?

    MErci de vos éclairages !

    T

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 906
    Points : 28 881
    Points
    28 881
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    C'est typiquement une application à développer basée sur le filtre avancé avec exportation.
    1-Exporter la colonne des services sans les doublons.
    2-Dans une boucle, créer une exportation par service basée sur la liste crée par l'étape 1. Cette exportation peut-être faite sur de nouveaux classeurs ou sur de nouvelles feuilles portant le nom des services.
    Voir le tuto Les filtres avancés ou élaborés dans Excel.
    Un classeur à télécharger contient une procédure d'exportation.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci pour votre réponse,

    c'est deja comme cela que je fonctionne (mais a la main)

    le principal inconvénient c'est que je génère les classeurs sans le tableau de synthèse et que je dois ensuite ouvrir chacun d'entre eux pour le créer !

    T.

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 906
    Points : 28 881
    Points
    28 881
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je n'ai sans doute pas compris le problème.
    Ma réponse tenait compte du fait que la feuille contient ce que tu as montré dans ta question de départ. N'est-ce pas le cas ?
    Tout est faisable dans Excel mais encore faut-il tout expliquer.
    Il y a peut-être deux questions.
    La première étant, "Comment consolider des données se trouvant dans des classeurs différents ?"
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut


    c'est toute la difficulté des forums, etre a la fois clair et concis.

    en feuille 1 j'ai les données ça nous sommes ok. (toutes les données de tous les services)

    en feuille 2 il me faut un tableau de synthèse qui contient un certain nombre de calculs basés sur les données de la feuille 1


    l'objectif c'est de générer autant de classeur qu'il y a de services et que chaque classeur contienne

    en feuille 1 les données du service concerné
    en feuille 2 le tableau de synthèse sur les données du service concerné

    le tout je dois l'envoyer par mail
    j’espère avoir été plus clair

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 906
    Points : 28 881
    Points
    28 881
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai compris au départ un fichier tel que tu l'as décrit sur ton premier post.
    De cela faire un export par service (autant de feuilles qu'il n'y a de services).
    J'avoue ne pas comprendre ce que vient faire la feuille 2.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut


    pour elargir le contexte:

    j'ai une appli qui me génère des données de paie tous les mois.
    la génération c'est un fichier global qui contient tous les services.

    pour chaque service je dois preparer en feuille 2 un tableau de synthese qui calcule tout un tas de trucs: etat de charges etc...

    je dois renvoyer a chaque service la feuille 1 avec les lignes qui le concerne et et la feuille 2 avec la synthese qui le concerne.



    j'ai estimé que j'avais 2 options:

    option 1:
    ventiler les données dans des classeurs séparés et copier a la main ou (via macro)le tableau dans la feuille2
    envoyer le tout par mail aux services

    option2:
    creer le tableau de synthese sur la feuille 2 du classeur d'origine (et qui donc fait une synthese globale
    supprimer les données de tous les services sauf 1 et enregistrer sous un autre nom, recommencer l'opération autant que necessaire..
    envoyer le tout par mail aux services

    je suis parti sur l'option2

    voili-voila, vous savez tout (enfin j'espere !)

    T.

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 906
    Points : 28 881
    Points
    28 881
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je n'ai vu qu'aujourd'hui ta dernière réponse.
    J'ai déposé une procédure et un classeur téléchargeable sur cette discussion qui répond en grosse partie à ta demande.
    Il n'y a qu'une feuille qui est exportée mais avec une petite modification dans cette procédure il serait très facile d'ajouter la deuxième feuille sur le même classeur filtré par service.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Arf, j'achoppe sur l'ajout de la 2eme feuille et sur les calculs...
    je suis désolé de solliciter encore votre aide

    reprenons votre classeur, j'ai ajouté en dernier une feuille "bordereau" qui fait quelques calculs sur les données de la feuille bd

    avant d'ecrire ma macro j'essaie de comprendre le raisonnement:

    1 je cree la liste unique
    2 je boucle avec sur la liste
    2a creation d'une nouvelle feuille
    je nomme la feuille ???
    si je donne a la feuille le nom du service, les calculs ne fonctionnerons plus.. je ne peux pas donner le nom db puisqu'il y a deja une feuille db.. si je donne un autre nom mes calculs ne fonctionnent plus...

    solution de contournement appeler la feuille comme je veux mais penser a la renomer "db" quand elle sera ds le nouveau classeur !!
    2a donc, appeler la feuille "bdtemp"
    2b export vers la feuille bdtemp des criteres
    2c deplacement de la feuille vers un nouveau classeur
    2d renommer la feuille bdtemp en bd
    2e copier la feuille "bordereau" du classeur d'origine vers le nouveau classeur
    malheureusement lors de la copie les calculs se mettent a jours en pointant vers le classeur d'origine et pas en pointant "de maniere ralative" vers la premiere feuille du classeur

    2f enregistrer et boucler

    voila c'est un fonctionnement théorique je n'arrive pas a le faire sous forme de macro encore, mais cela ne fonctionne pas essentiellement a cause des formules de calcule ...

    est ce que cela evoque qq chose pour vous ?

    cordialement,

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour, test ça
    Fichiers attachés Fichiers attachés

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci de ta réponse que je découvre un peu tard,


    hélas ce n'est pas ce que je cherche

    je crois que la solution de Mr Philippe Tulliez est la plus proche de ce que je souhaite.

    avec son dernier classeur, j'arrive a generer autant de classeurs qu'il y a de service.
    par contre impossible d'adjoindre la 2eme feuille, je n'y arrive pas, definitivement

    et ca m'enerve contre moio c'est terrible

    pour recapituler

    fichier de depart:

    code etab, nom etab, nom service, nom agent, code agent, cotisation1, cotisation2, cotisation3.....

    001, etab1, magasin, dupont, 007, 25€, 10€, 14€
    001, etab1, magasin, marc, 009, 24€, 10€, 14€
    001, etab1, entrepot, toto, 010, 25€, 10€, 14€
    001, etab1, entrepot, titi, 145, 25€, 10€, 14€
    001, etab1, divers, pierre, 747, 25€, 10€, 14€
    002, etab2, magasin, paul, 111, 25€, 10€, 14€
    002, etab2, entrepot, jacques, 951, 25€, 10€, 14€
    002, etab2, divers, david, 147, 25€, 10€, 14€
    003, etab3, magasin, dupont, 007, 25€, 10€, 14€

    sur la feuille 2
    j'ai un tableau tres formel avec tout un tas d'information legales et des calculs qui se réfèrent a la feuille 1
    Total de la première cotis pour les magasin
    Total de la 2eme cotis pour tout l'etablissement
    en tout un dizaine de calculs.

    l'idée c'est d'obtenir autant de classeur qu'il y a de codes différents et de faire en sorte que la feuille 2 soit présente et utilise comme calcul les valeur de la feuille 1

    avec le claseur de Philippe Tulliez j'arrive a generer autant de classeur que de codes mais impossible de faire apparaitre cette fichue feuille 2

    Ah qu'il est dur de ne pas etre developpeur !

Discussions similaires

  1. fixer des lignes et des colonnes dans ma feuille
    Par zangaloni dans le forum Excel
    Réponses: 4
    Dernier message: 18/04/2011, 13h17
  2. copier des lignes dans des feuilles designées
    Par arctica dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 23/09/2009, 13h14
  3. [XL-2007] Insérer des lignes dans un classeur
    Par toinou62 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/05/2009, 19h22
  4. Détecter des lignes dans des champs
    Par afef_master dans le forum Traitement d'images
    Réponses: 11
    Dernier message: 13/03/2009, 18h19
  5. Figer des lignes et des colonnes dans un tableau
    Par Opo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 15/11/2006, 16h10

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