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 :

Macro pour exporter une feuille excel vers un nouveau classeur


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Par défaut Macro pour exporter une feuille excel vers un nouveau classeur
    Bonjour / Bonsoir
    Après avoir essayé sans succès certaines macros, je viens m’inscrire sur ce site et exposer ma recherche, espérant que vous m’apportiez toute l’aide.
    Ma recherche tend à trouver une macro dont la fonction est l’exportation d’une seule feuille d’un classeur excel vers un autre classeur avec certaines conditions.

    Tous les détails explicatifs sont fournis avec le fichier ci-joint.

    A signaler que ce sujet était formulé sur 2 autres forums excel depuis qlq jours, malheureusement, personne ne m'a répondu, même avec la moindre proposition.

    Alors, je vous prie, au vrai sens du terme, de bien vouloir m'en aider.

    Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Youppi !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Le site bloque (enfin) (toujours) les fichiers de macros et avec de maudites bonne raisons.

    De toutes façons presque tout le monde voit rouge quand on se fait balancer un fichier joint à la première question.

    Pour copier ou déplacer un classeur par macro, rien de mieux que de demander à l'enregistrer.

    Démarrer l'enregistreur

    Clic-droit sur le nom de feuille en bas de la fenêtre

    Cliquer Déplacer ou copier

    Faire les bonnes chose avec les bons items dans les listes déroulantes et les bonnes cASEs cochées

    Une fois terminé Arrêter l'enregistrement

    ALt + F11 pour voir le résultat.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Par défaut
    Bonjours

    Une macro avec l'enregistreur est limitée et ne peut pas assurer certaines fonctions.

    Voici ce que je cherchais.

    J’ai un classeur composé de 28 feuilles, "actuellement 28 feuilles mais évolutif" (modèle identique en pièces jointe)
    Sur sa feuil.16 nommée FICHE, j’ai un tableau de récapitulation en liaison avec les autres feuilles et avec 2 images de logo et d’entête type jpeg, des listes déroulantes, des boutons, et une macro associée.

    Pour cette feuille FICHE je voudrais l’exporter vers un nouveau classeur d’archive sans copier ni formules, ni liaison, ni boutons, ni listes déroulantes, ni le code VBA associé.
    Juste la mise en forme, les valeurs, les couleurs et les images qui sont uniquement à exporter vers l’autre classeur d’archive.

    Sur cette même feuille à exporter, et au niveau de la cellule K7, j’ai une liste déroulante pour la sélection du mois. Leur format est (Mois et Année) (mmmm aaaa), de laquelle, je souhaite qu’à la toute première exportation de ladite feuille, la macro doit créer d'une façon automatique le nouveau classeur sous le nom « FICHES* » suivi de l’année sélectionnée en K7, "comme par exemple FICHES*2016"

    Le nom de l’Onglet de la feuille exportée dans ce nouveau classeur aura comme nom celui du Mois déjà sélectionné en K7, soit par exemple: Août/Septembre/octobre etc etc
    Toute les exportations ultérieures vers le classeur d’archive doivent se suivent au niveau des onglets l'une après l'autre.
    - Quand l’année change, la macro doit créer un nouveau classeur

    Je souhaite aussi que la macro assure la gestion des erreurs prévues. Si par erreur, on vient d’exporter la feuille 2 fois avec le même mois sélectionné en K7, la macro doit déclencher un message avertissant que l’onglet de ce mois est déjà existant dans le classeur d'archive.

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 676
    Par défaut
    Citation Envoyé par Amidoulen Voir le message
    A signaler que ce sujet était formulé sur 2 autres forums excel depuis qlq jours, malheureusement, personne ne m'a répondu, même avec la moindre proposition.
    Si personne ne te répond sur plusieurs forums peut être est-ce ta manière de présenter le sujet qu'il faut remettre en question...
    http://www.developpez.net/forums/d84...s-discussions/
    Une macro avec l'enregistreur est limitée et ne pas assurer certaines fonctions.
    L'enregistreur de macro te donne 90% du code

    Pour cette feuille FICHE je voudrais l’exporter vers un nouveau classeur d’archive sans copier ni formules, ni liaison, ni boutons, ni listes déroulantes, ni le code VBA associé.
    Juste la mise en forme, les valeurs, les couleurs et les images qui sont uniquement à exporter vers l’autre classeur d’archive.
    Avec l'enregistreur de macro allumé, clic droit sur l'onglet déplacer, nouveau classeur, il n'y a normalement pas de code VBA associé
    Pour virer les formules selectionne toute les cellules copier, copie spécial valeur
    Pour les liaison dans edit links supprimer les liaisons
    Encore une fois l'enregistreur de macro donne presque tout


    Sur cette même feuille à exporter, et au niveau de la cellule K7, j’ai une liste déroulante pour la sélection du mois. Leur format est (Mois et Année) (mmmm aaaa), de laquelle, je souhaite qu’à la toute première exportation de ladite feuille, la macro doit créer d'une façon automatique le nouveau classeur sous le nom « FICHES* » suivi de l’année sélectionnée en K7, "comme par exemple FICHES*2016"
    Encore une fois via l'enregistreur de macro sauve ton classeur avec le nome "toto" par exemple puis tu modifie le code et remplace "toto" par range("K7").text


    Le nom de l’Onglet de la feuille exportée dans ce nouveau classeur aura comme nom celui du Mois déjà sélectionné en K7, soit par exemple: Août/Septembre/octobre etc etc
    Je croyais qu'en K7 c'etait le nom de l'année...

    Toute les exportations ultérieures vers le classeur d’archive doivent se suivent au niveau des onglets l'une après l'autre.
    - Quand l’année change, la macro doit créer un nouveau classeur
    Vérifie au début de la macro si le classeur existe via la fonction dir par exemple si oui tu l'ouvre et tu copieras l'onglet dedans
    si non tu pourras le créer en déplaçant l'onglet dans un nouveau classeur.
    Je souhaite aussi que la macro assure la gestion des erreurs prévues. Si par erreur, on vient d’exporter la feuille 2 fois avec le même mois sélectionné en K7, la macro doit déclencher un message avertissant que l’onglet de ce mois est déjà existant dans le classeur d'archive.
    Tu ne peux pas avoir deux onglets avec le même nom donc au moment de changer le nom de l'onglet si il existe déjà tu auras un message d'erreur.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Par défaut
    Citation Envoyé par halaster08 Voir le message
    Si personne ne te répond sur plusieurs forums peut être est-ce ta manière de présenter le sujet qu'il faut remettre en question.../[/URL]
    Bonjour halaster
    Merci pour la réponse

    La politesse, le respect avec résumé explicatif, ce sont des grand titres dans mes files.

    Bonne journée à vous

  6. #6
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 676
    Par défaut
    Message précédent édité.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Par défaut
    Citation Envoyé par halaster08 Voir le message
    Message précédent édité.
    Désolé, j'étais pas devant mon écran.

    j'ai déjà une macro que je travaille avec, mais juste je voulais le perfectionner avec une tache automatisé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub CopieFeuilleSansVBA()
        Sheets("FICHE").Copy     
        With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
            .DeleteLines 1, .CountOfLines
        End With
    End Sub
    Je suis en train d'essayer avec l'enregistreur, mais il parait trop compliqué d'atteindre un résultat comme je souhaite !!!

  8. #8
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 676
    Par défaut
    Citation Envoyé par Amidoulen Voir le message
    Je suis en train d'essayer avec l'enregistreur, mais il parait trop compliqué d'atteindre un résultat comme je souhaite !!!
    C'est sur que c'est plus facile de demander qu'on travaille à ta place ...
    Tu n'obientiendras pas exactement ce que tu veux avec l'enregistreur mais tu auras 90% du code, il ne te resteras que des modifications mineure, comme changer le nom du classeur en utilisant la valeur de B7 comme je l'ai expliqué plus haut.

    ps: utilise la balise code (symbole #) quand tu poste du code c'est beaucoup plus lisible.

  9. #9
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par Amidoulen Voir le message
    Bonjours

    Une macro avec l'enregistreur est limitée et ne peut pas assurer certaines fonctions.

    Voici ce que je cherchais.


    Pour cette feuille FICHE je voudrais l’exporter vers un nouveau classeur d’archive sans copier ni formules, ni liaison, ni boutons, ni listes déroulantes, ni le code VBA associé.
    Juste la mise en forme, les valeurs, les couleurs et les images qui sont uniquement à exporter vers l’autre classeur d’archive.

    Une autre petite macro de rien du tout.

    Tu fais un simple clic tout doux sur la petite case en haut de A et à gauche de 1.
    Miracle, ce sélectionne toute la feuille.
    Tu copies en cliquant sur l'icône ou par le menu.
    Tu gardes la sélection active
    Tu fais deux collages spéciaux successifs:
    1- collage spécial pour les valeurs seulement
    2- collage spécial pour les mises en formes seulement.

    Et c'est fait.


    Sur cette même feuille à exporter, et au niveau de la cellule K7, j’ai une liste déroulante pour la sélection du mois. Leur format est (Mois et Année) (mmmm aaaa), de laquelle, je souhaite qu’à la toute première exportation de ladite feuille, la macro doit créer d'une façon automatique le nouveau classeur sous le nom « FICHES* » suivi de l’année sélectionnée en K7, "comme par exemple FICHES*2016"

    Le nom de l’Onglet de la feuille exportée dans ce nouveau classeur aura comme nom celui du Mois déjà sélectionné en K7, soit par exemple: Août/Septembre/octobre etc etc
    Toute les exportations ultérieures vers le classeur d’archive doivent se suivent au niveau des onglets l'une après l'autre.
    - Quand l’année change, la macro doit créer un nouveau classeur
    SaveAS dans l'aide de VBA


    Toi, tu veux cela gratuitement et clef-en-main, sauf que C'est interdit par les règles du forum .

    P.S. Je crois fermement à la dernière ligne de ma signature. Pars donc sur le bon pied et avec le bon outil. Parce que demander à un psychiatre de poser une prothèse de la hanche, c'est une hérésie.

Discussions similaires

  1. [PPT-2013] Bouton avec macro pour ouvrir une feuille Excel PowerPoint 2013
    Par gdmeunier dans le forum Powerpoint
    Réponses: 0
    Dernier message: 27/10/2014, 14h10
  2. [Toutes versions] Macro pour ajouter une feuille excel avec un nom précis
    Par luc-ratif dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/05/2014, 10h53
  3. exporter une feuille excel vers une table access
    Par sanfour_walhan dans le forum VB.NET
    Réponses: 8
    Dernier message: 01/06/2011, 04h01
  4. Exporter des feuilles Excel vers un autre classeur
    Par Smogling dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 28/09/2007, 13h25
  5. Problème pour exporter une table Access vers Excel
    Par PAULOM dans le forum Access
    Réponses: 22
    Dernier message: 02/05/2006, 14h42

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