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 filtre et copie de données dans nouveaux fichiers [XL-2010]


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
    Chargé de projet
    Inscrit en
    Octobre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé de projet
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2016
    Messages : 7
    Par défaut Macro filtre et copie de données dans nouveaux fichiers
    Bonjour à tous ,

    J'aurais besoin de vos lumières pour une macro. Pour commencer, je tiens à dire que je suis parfaitement néophyte en ce qui concerne les Macro VBA mais que je suis parfaitement disposé à apprendre et à y consacrer du temps.

    Malheureusement, je pense que ma problématique est un peu trop compliqué pour un débutant comme moi et c'est pour ça que je requiert aujourd'hui votre aide.

    J'ai un fichier qui se présente comme suit (fichier joint également ci-dessous) :

    Test.xlsm

    client commerciaux score
    Dubois Jean probable
    Dutronc Jacques imminent
    Duterque Paul probable
    Duval Paul probable
    Dupont Jacques imminent

    J'aimerais pouvoir sélectionner toutes les lignes qui concerne chacun des commerciaux (Jean, Jacques et Paul) et les copier dans un nouveau fichier, donc, me retrouver avec 3 nouveaux fichiers portant les valeur suivantes:

    * Fichier 1 (nom du fichier = Jean.xlsx) :

    client commerciaux score
    Dubois Jean probable

    * Fichier 2 (nom du fichier = Jacques.xlsx) :

    client commerciaux score
    Dutronc Jacques imminent
    Dupont Jacques imminent

    * Fichier 3 (nom du fichier = Paul.xlsx) :

    client commerciaux score
    Duterque Paul probable
    Duval Paul probable

    Je tiens à préciser qu'il n'y a pas que 3 commerciaux, il y en a des centaines, et par conséquent je dois générer des centaines de fichiers différents (d'où le besoin d'une macro). J'ai également à ma disposition une liste de l'ensemble des commerciaux, mais pour l'exemple 3 suffiront (je pense).

    Voilà, je ne sais absolument pas par ou commencer et je ne vous demande par forcément une solution "clé en main" (bien que vu l'urgence de ma situation celà m'arrangerait) mais surtout de l'aide pour savoir par quel bout prendre mon soucis et progresser.

    Merci d'avance pour l'aide que vous m'apporterez !

    Romain

  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
    13 169
    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 169
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ton problème est très simple.
    Tu as une liste de données que tu veux splitter en fonction de données se trouvant dans une colonne. La solution avec la méthode AdvancedFilter (filtre avancé d'excel)
    Solution que j'ai déjà proposée dans cette discussion. Il y a le code de la procédure plus un classeur à télécharger pour exemple.
    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
    Membre du Club
    Homme Profil pro
    Chargé de projet
    Inscrit en
    Octobre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé de projet
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2016
    Messages : 7
    Par défaut
    Bonjour,

    Effectivement, c'est à peu près ça, je vais regarder ça de plus près histoire de comprendre le code etc etc.

    Merci beaucoup même si je pense que j'aurais plusieurs questions par la suite

    Est-il possible, au lieu de créer un seul fichier avec plusieurs feuilles, plusieurs fichier avec une seule feuille?

    L'idée est ensuite de pouvoir envoyer chaque fichier à chaque commerciaux de manière unique, le tout en automatique?

    Je ne sais pas si je suis très clair.... Peut-être est-ce déjà possible avec les feuilles?

  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 169
    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 169
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Est-il possible, au lieu de créer un seul fichier avec plusieurs feuilles, plusieurs fichier avec une seule feuille?
    Evidemment que c'est possible. Tu peux exporter sur une feuille du même classeur, d'un classeur différent, etc.
    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
    Membre du Club
    Homme Profil pro
    Chargé de projet
    Inscrit en
    Octobre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé de projet
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2016
    Messages : 7
    Par défaut
    Re-bonjour à tous ,

    Me re-voilà en ayant bien avancé et en ayant en partie résolu mon problème.

    La macro fonctionne impec et elle split bien mon onglets principale en différents onglets (selon 1 critère) puis enregistre ces onglets dans un fichier unique par onglet.

    A présent, et là je pense que ça dépasse mes compétences, je cherche un bout de code me permettant d'envoyer en automatique un mail pour chaque fichier unique générer.

    Ci-joint le fichier en question avec les macros opérationnelles. Si une âme charitable pouvait compléter le bout de code qui me manque pour que je puisse le comprendre et l'assimiler, ça m'aiderait beaucoup.

    Merci d'avance vous êtes super ici !

    ExportExcel.xlsm

    PS: Je tiens à préciser que je ne suis pas l'auteur du code dans les macros en question de ce fichier mais ce qui est sur c'est que je le comprends et que je suis à présent parfaitement apte à le reproduire Un grand merci donc aux anonymes qui ont contribué.

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    je te propose une solution pour ta création des sheets avec données filtrées qui sera somme toute un peu plus rapide normalement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub test()
        Dim dico, i%
        Application.DisplayAlerts = False
        For i = Sheets.Count To 2 Step -1: Sheets(i).Delete: Next
        Set dico = CreateObject("Scripting.Dictionary")
        With Sheets(1)
            For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
                If Not dico.exists(Trim(.Cells(i, 1).Value)) Then
                    Sheets.Add After:=Sheets(Sheets.Count)
                    Sheets(Sheets.Count).Name = .Cells(i, 1)
                    Debug.Print .Cells(i, 1) & "rr"
                    With .Range("$A$1:$D$24")    ' plage a adapter
                        .AutoFilter Field:=1, Criteria1:=.Cells(i, 1).Text  'mot recherché a adapter
                        .Parent.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Copy Sheets(.Cells(i, 1).Text).Cells(1, 1)
                        .AutoFilter
                    End With
                    dico(Trim(.Cells(i, 1))) = .Cells(i, 1)
                End If
                ' End If
            Next
        End With
    End Sub
    pour les mails il y a divers solution dans le forum et contrib et faq
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Déclencher une Macro par copie de données dans une feuille
    Par dafchap dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/04/2016, 20h21
  2. macro copie de données d'un fichier à un autre
    Par mdakini dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 05/04/2011, 11h09
  3. Réponses: 8
    Dernier message: 15/10/2009, 12h13
  4. Réponses: 5
    Dernier message: 05/12/2008, 15h23

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