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 : scinder un fichier en plusieurs fichiers (avec nombre d'onglets variable)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2019
    Messages : 4
    Par défaut MACRO : scinder un fichier en plusieurs fichiers (avec nombre d'onglets variable)
    Bonjour,

    J'ai un fichier avec 17 onglets.
    je veux le couper de la manière suivante :
    1er fichier souhaité devra avoir les 3 premiers onglets (1er onglet, 2ème onglet, 3ème onglet)
    2ème fichier souhaité devra avoir les 2 onglets suivants (4ème onglet, 5ème onglet)
    3ème fichier souhaité devra avoir les 2 onglets suivants (6ème onglet, 7ème onglet)
    4ème fichier souhaité devra avoir les 2 onglets suivants (8ème onglet, 9ème onglet)
    5ème fichier souhaité devra avoir les 2 onglets suivants (10ème onglet, 11ème onglet)
    6ème fichier souhaité devra avoir les 2 onglets suivants (12ème onglet, 13ème onglet)
    7ème fichier souhaité devra avoir les 2 onglets suivants (14ème onglet, 15ème onglet)
    8ème fichier souhaité devra avoir les 2 onglets suivants (16ème onglet, 17ème onglet)


    Dans chaque fichier ces couples d'onglets devront toujours s'appeler : "Boîte" pour un onglet et l'autre "Bonbon"
    Qui peut m'aider ?
    car manuellement c'est chronophage
    un grand merciii
    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 : 69
    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
    Bonjour,

    Presque personne ne veut tenter le diable en ouvrant des fichiers-joints

    Et puis c'est encore plus rapide de le faire à la main que d'attendre qu'un éventuel volontaire ne passe plusieurs heures à écrire une macro. Parce que le but du forum n'est pas de fournir du code gratuit clef-en-main, mais d'aider le demandeur à produire son propre code

    Et si tu veux absolument une macro, l'enregistreur de macros te donne le canevas de procédure dont tu as besoin.

    Un simple clic-droit sur le nom de la feuille, puis Déplacer ou copier…

    Au pire, tu raboutes ta macro enregistrées 7 fois en changeant le nom du classeur. Au mieux tu mets ta macro dans une boucle et tu t'arranges pour mettre le noms des classeurs.

    Nom : copie.png
Affichages : 2693
Taille : 98,2 Ko

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2019
    Messages : 4
    Par défaut Réponse
    Bonjour,

    Je suis nouvelle sur un forum, donc pas habituée aux manières de faire. désolée.

    Alors oui j'ai utilisé mon enregistreur de macro, depuis 15 jours, sauf qu'en utilisant les références relatives, ou pas, ça ne me donne rien…
    Oui j'ai utilisé aussi une petite macro, et la voici...mais elle me coupe les fichiers avec un seul onglet, et là mon cas c'est : 3 onglets, puis 2 onglets, par 2 onglets..

    En parcourant internet, j'avais trouvé cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim ws
    Dim newWk As Workbook
     
     For Each ws In Worksheets
     Set newWk = Workbooks.Add(xlWBATWorksheet)
     ws.Copy newWk.Sheets(1)
     'newWk.SaveAs (Thisworkbook.path & "\" & ws.Name & ".xls")
     newWk.SaveAs (ThisWorkbook.Path & "\" & ws.Name & ".xls")
     newWk.Close
     Set newWk = Nothing
     Next ws
     
    End Sub
    Mais ça ne fonctionne pas, comme il le faut, puisque mon cas, c'est 3 onglets, puis 2 onglets, 2 onglets, 2 onglets...etc

    En terme d'effort, puisque je travaille 7 jours sur 7, à 12 heures par jour, alors oui, les macros m'aideraient.
    La fonction "déplacer .. copier" je la pratique.

    Par jour, j'ai à peu près 10 fichiers avec 33 onglets à chaque fois, d'où le besoin d'automatiser au mieux cette tâche - pour éviter les erreurs, et être plus rapide.
    Merci de votre bienveillance,

  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
    13 176
    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 : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Par jour, j'ai à peu près 10 fichiers avec 33 onglets à chaque fois, d'où le besoin d'automatiser au mieux cette tâche - pour éviter les erreurs, et être plus rapide.
    Et bien je pense que c'est une excellente motivation pour apprendre la programmation en VBA

    J'ai moi même commencé en 1999 à apprendre le VBA et j'ai consulté et posé des questions dans un forum excel aujourd'hui disparu (MPFE) à raison de 4 à 5 heures par soir et ce pendant 3 mois pour enfin sortir mon application qui m'a permis d'automatiser mes offres commerciales. Je suis passé ainsi de deux heures à 10 minutes pour la rédaction de mon offre.

    Il n'y a pas 36 possibilités soit tu t'y mets soit tu fais appel à un professionnel qui te facturera son travail.

    La première chose à faire, c'est de mettre sur papier ce que tu as à faire et ensuite découper les différentes tâches en petites procédures. Tu verras que tout à coup cela semblera beaucoup plus simple
    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
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour

    Citation Envoyé par Philippe Tulliez Voir le message
    .K.... mettre sur papier ce que tu as à faire et ensuite découper les différentes tâches en petites procédures....


    Je ne saurais trop plussoyer ce qui est dit là

    En observant à ce propos que les questions posées sur ce forum ne seraient, pour le coup, relatives qu'à l'une, parfaitement isolée, des tâches ainsi séparées.

  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
    13 176
    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 : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour Jacques,
    En observant à ce propos que les questions posées sur ce forum ne seraient, pour le coup, relatives qu'à l'une, parfaitement isolée, des tâches ainsi séparées
    Oui, c'est ainsi que nous procédions et c'est ainsi que je conçois un forum d'entraide
    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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/02/2017, 00h44
  2. generer un fichier avec nombres aléatoires
    Par ben_tiba_asma dans le forum Débuter
    Réponses: 8
    Dernier message: 20/09/2011, 14h15
  3. Chargement BCP d'un fichier avec nombre de champs variable
    Par GuillermoMagistrale dans le forum Outils
    Réponses: 1
    Dernier message: 22/04/2010, 17h38
  4. AWK : créer fichier avec un nom de variable
    Par DIE dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 27/08/2009, 08h18
  5. Réponses: 1
    Dernier message: 08/07/2009, 17h06

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