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 :

Eclater une tableau excel en onglet


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2018
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2018
    Messages : 108
    Points : 37
    Points
    37
    Par défaut Eclater une tableau excel en onglet
    Bonjour à tous,
    je suis limité en macro sous excel.
    je maîtrise le copier coller mais c'est long
    et j'aimerais me simplifier la vie.

    Pour faire mes inventaires, tous les trimestres je fais la manipulation suivante:
    1. j'ouvre un fichier (gestion matériel), je récupère des informations que je copie dans un autre fichier (prep inventaire) dans un onglet qui s'appelle global
    2. je crée un tableau dans l'onglet Global avec les informations récupérées
    3. je supprime la mise en forme (car il y a des cellules avec une couleur en remplissage)
    4. je supprime à la main dans le tableau et en faisant un tri, toutes les lignes de matériel qui ont été scrappé (filtre sur scrap)
    5. je coupe/colle les informations concernant le même emplacement dans un onglet nommé par l'emplacement (je prends tout ce qui concerne un bureau X pour le déplacer dans l'onglet nommé X)
    6. je vérifie que dans chaque onglet il y a bien le bon en-tête (celui de l'onglet Global + 2 nouvelles colonnes pour le pointage)
    7. Je mets en forme tous les onglets à l'identique (Thème = colibri, taille du texte = 12, largeur colonne = 20, en en-tête le nom de l'onglet, un pied de page identique sur toutes les pages = XXXXX, largeur d'impression à une page, mise en forme en tableau quadrillé)
    8. Je passe sur tous mes onglets pour les imprimer sur mon imprimante par défaut


    .....
    .....
    cela me prends un peu de temps pour faire tout cela

    pour une partie de l'étape 7 j'ai trouvé une astuce sur google pour la largeur, le pied de page et la largeur d'impression :
    on en fait une correctement, on sélectionne tous les onglets et on fait F4

    mais pour le reste je suis à la recherche d'une macro qui faciliterait ma vie....
    je continue de chercher mais je suis preneur pour un coup de pouce.

    MERCI d'avance
    PS : je mets un lien pour récupérer mon fichier de démo (onglet global et onglet avec Mise en page)
    test.xlsx

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par aculy Voir le message
    Bonjour,

    Votre message ressemble à celui-ci : Eclater-planning-autant-feuille-qu-y-jours-contenus-planning

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2018
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2018
    Messages : 108
    Points : 37
    Points
    37
    Par défaut
    Merci je vais regarder

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2018
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2018
    Messages : 108
    Points : 37
    Points
    37
    Par défaut
    j'ai créé une macro pour les parties 2/3/4

    en utilisant la fonction enregistrer une macro et en récupérant le code....
    mais je suis persuadé que c'est moche moche....
    Fichiers attachés Fichiers attachés

  5. #5
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 009
    Points
    1 009
    Par défaut
    Bonsoir,

    Tout ceci est faisable par macro mais:

    Citation Envoyé par aculy Voir le message

    j'ouvre un fichier (gestion matériel), je récupère des informations que je copie dans un autre fichier (prep inventaire) dans un onglet qui s'appelle global
    Peut-on avoir une copie de ce fichier d'origine également ? Ou du moins pourriez-vous nous donner les colonnes à récupérer ("A", "B" et "C" de votre feuille "Global" certainement) ?


    Citation Envoyé par aculy Voir le message

    je crée un tableau dans l'onglet Global avec les informations récupérées
    Pour le traitement demandé cette étape est facultative. Souhaitez-vous la conserver ? (on peut faire une mise en forme ou un quadrillage sans passer par la création de tableaux Excel nommés).


    Citation Envoyé par aculy Voir le message

    je supprime à la main dans le tableau et en faisant un tri, toutes les lignes de matériel qui ont été scrappé (filtre sur scrap)
    On peut très bien créer les autres différents onglets sans supprimer ces lignes dans votre tableau d'origine. Souhaitez-vous réellement les supprimer ou voulez-vous les gardez en historique ? Cela ne gêne absolument pas la macro.


    Citation Envoyé par aculy Voir le message

    Je mets en forme tous les onglets à l'identique (Thème = colibri, taille du texte = 12, largeur colonne = 20, en en-tête le nom de l'onglet, un pied de page identique sur toutes les pages = XXXXX, largeur d'impression à une page, mise en forme en tableau quadrillé)
    Je mettrai "XXXXX" dans le code et vous le remplacerez. Par contre vous ne dites pas si vous souhaitez le mettre à gauche, au centre ou à droite.


    Citation Envoyé par aculy Voir le message

    Je passe sur tous mes onglets pour les imprimer sur mon imprimante par défaut
    Pour info Excel, dans la fenêtre de lancement d'impression, permet de lancer l'impression de toutes les pages d'un coup. Pas besoin de lancer manuellement une impression page par page.


    Enfin, si j'ai bien compris, ce fichier est recréé à chaque nouvel inventaire. Les données de chaque inventaire ne sont pas cumulées les unes à la suite des autres. Exact ?

    Toutes ces étapes sont faisables en macro mais si vous pouviez répondre aux points ci-dessus ce serait plus simple.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2018
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2018
    Messages : 108
    Points : 37
    Points
    37
    Par défaut
    @Alex020181
    voila ou j'en suis

    Citation Envoyé par aculy Voir le message
    1. pas de soucis je copie colle à la main
    2. macro opérationnel donc ok (même si la macro à mon avis est très crade...)
    3. idem
    4. idem
    5. je cherche a le faire en macro
    6. idem
    7. j'ai une manip rapide mais si via macro on peut tout faire je suis preneur...
    8. Merci ok je savais pas
    aujourd'hui je reprends tous les trimestres mon fichier je remets à jour mon onglet global et je recopie dans chaque onglet les infos
    (il y souvent des changements entre 2 inventaires)
    on peut effectivement conserver dans l'onglet global la liste actuelle, moi je coupe colle pour pas en oublier.
    pour le bas de page je fais juste une annotation a mon inventoriste pour rappel en bas a gauche
    "Case à cocher
    Absent ou présent"

  7. #7
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 009
    Points
    1 009
    Par défaut
    J'ai bien avancé sur votre demande. Si j'ai bien compris tout ce que vous vouliez il ne reste que la mise sous forme de tableaux.
    Le code que je vous donne est optimisable pour accélérer le traitement mais je pense que le délai de traitement est déjà correct.

    Vous disiez que vous imprimiez les feuilles une par une. Voici où se trouve l'option pour imprimer toutes les feuilles d'un coup.
    Nom : Image impression.png
Affichages : 450
Taille : 31,5 Ko

    Le fichier joint est un Excel avec une macro qui se lance via le bouton "GO" présent sur la feuille "Accueil".
    Il vous suffit d'ouvrir ce fichier et de cliquer sur le bouton (attention de bien fermer le fichier contenant vos données d'origine et, par sécurité, tout autre fichier Excel ouvert).

    Un message vous averti en fin de traitement. Le fichier généré se trouve dans le même répertoire que celui contenant la macro.

    Testez ça et dites moi. Ensuite on fera le reste.

    Je précise que j'ai été au plus vite sans gérer les cas particuliers. Par exemple
    - les doublons de nom des feuilles suite au limitation de sa longueur (un nom d'onglet est composé au max de 31 caractères, si vous avez des emplacements dont les noms sont similaires mais que la différenciation se fait après le 31ème caractère vous aurez une erreur car je n'ai pas géré ce cas dans le code)
    - les caractères particuliers interdits dans le nom des onglets
    Fichiers attachés Fichiers attachés

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2018
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2018
    Messages : 108
    Points : 37
    Points
    37
    Par défaut
    Bonjour,
    Tout d'abord merci

    j'ai récupéré le fichier, je ne pourrais pas le tester pour le moment.
    je me le note à mardi pour regarder tout cela

    Bon WE

  9. #9
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 009
    Points
    1 009
    Par défaut
    Je détaille le fonctionnement du code pour votre test.

    En cliquant sur le bouton une fenêtre de sélection de fichier va apparaitre. Sélectionnez votre fichier contenant la feuille "global" à importer (les données devront être en colonnes "A", "B" et "C") puis validez.
    Le code ira tout seul lire les données (quel que soit le nombre de lignes), les reportera dans une feuille "global" puis créera une feuille de pointage par inventaire sans reprendre les matériels que vous souhaitiez ignorer, mettra les fiches inventaire en forme (police "calibri", largeur des colonnes à 20, ...). Enfin il enregistrera le résultat automatiquement dans un nouveau fichier Excel dans le répertoire où vous avez enregistré mon fichier.

    Comme je vous disais on pourra ensuite traiter les derniers détails de présentation (format en mode tableau).

    Il vous suffira de procéder ainsi à chaque nouvel inventaire pour traiter vos nouvelles données et créer un nouveau fichier.

  10. #10
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 009
    Points
    1 009
    Par défaut
    Avez-vous pu tester ?

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2018
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2018
    Messages : 108
    Points : 37
    Points
    37
    Par défaut
    bonjour,
    je n'ai pas remis les pieds au bureau depuis votre post....
    dès que j'y serais je test et vous donne mon retour sans soucis

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2018
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2018
    Messages : 108
    Points : 37
    Points
    37
    Par défaut
    ca y est de retour au bureau je vais tester la solution proposé par Alex020181

  13. #13
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 009
    Points
    1 009
    Par défaut
    Citation Envoyé par aculy Voir le message
    ca y est de retour au bureau je vais tester la solution proposé par Alex020181
    D'accord. J'attends votre retour.

    PS; mon activité professionnelle a repris alors pour la suite, si suite, je risque d'être moins présent.

  14. #14
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 009
    Points
    1 009
    Par défaut
    Bon bein pas de retour.🙄
    Je suppose que tout va bien alors

Discussions similaires

  1. Eclatement d'un tableau Excel lors d'une impression
    Par Invité dans le forum Excel
    Réponses: 6
    Dernier message: 02/07/2019, 10h27
  2. eclater un tableau en plusieur onglet
    Par arcana2001 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/04/2012, 17h39
  3. Eclater un tableau excel
    Par freestyler dans le forum Excel
    Réponses: 1
    Dernier message: 31/07/2008, 08h10
  4. [vb6] Ajouter une ligne dans un tableau excel
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 13/06/2006, 16h41
  5. [VBA-A]Sélectionner l'onglet d'une feuille Excel
    Par Requin15 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/02/2006, 09h57

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