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 Auto + Copie et enregistrement dans d'autre excels


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Novembre 2017
    Messages : 11
    Points : 3
    Points
    3
    Par défaut Macro Filtre Auto + Copie et enregistrement dans d'autre excels
    Bonjour,

    Voila mon problème à aujourd'hui j'ai un système de stockage dans lequel je peux extraire sous forme de .csv les données du mois pour chaque clients.
    donc actuellement je choisi par exemple client 1 j'extrait le csv puis j'utilise une macro qui met en forme et rajoute les formules de calcul pour la facturation sur chaque ligne pour le client sélectionné.

    Maintenant j'aimerais faire une seule extraction de tous les clients donc client1 / 2 / 3 etc... et la liste peut varier selon les mois et lancer une macro qui filtre chaque client un par un et qui a chaque fois enregistre les données filtré dans un autre excel applique ma formule de calcul pour les tarifs et ferme puis recommence pour tous les client qu'il y a dans le filtre dont les nom peuvent varier selon les mois et a chaque fois enregistre dans un excel différent.

    Exemple:
    j'extrait mon csv avec client 1 client 2 client 3, je veux que la macro filtre client 1 copie les données dans un autre excel applique mes formule enregistre ferme puis passe a client 2 puis 3.

    moi c'est surtout la parti de filtré chaque client et de copier dans un autre excel et enregistré dans des fichiers différents pour chaque client qui m'intéresse

  2. #2
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Novembre 2017
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    voila ce que j'ai pour le moment mais je bloque à la boucle pour passer à client 2, 3 etc. sans connaitre le nom d'avance

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Sub CopieFiltre()
     
        Dim ClSource As Workbook
        Dim ClCible As Workbook
        Dim Plage As Range
        Dim Critere As String
     
     
     
        'utilisation de variables pour éviter la confusion
        Set ClSource = ThisWorkbook
        Set ClCible = Workbooks.Add
     
        'adapter le critère
        Critere = "Client1"
     
        'défini la plage sur toute la feuille
        Set Plage = DefPlage(ClSource.Worksheets("Feuil1"))
     
        With ClSource.Worksheets("Feuil1")
     
            'filtrage sur la colonne 1 de la plage (ici A)
            Plage.AutoFilter 1, "=" & Critere
     
            'copie du résultat dans la feuille "Feuil1" du nouveau classeur
            'attention, la copie embarque les entêtes
            .AutoFilter.Range.EntireRow.Copy ClCible.Worksheets("Feuil1").Cells(1, 1)
     
            'suppression du filtrage
            Plage.AutoFilter
     
            With ActiveWorkbook
            .SaveAs Filename:="C:\Users\jerome.hadji-yoannou\Desktop\Extract\" & Critere
            .Close
     
        End With
        End With
     
    End Sub
     
    Function DefPlage(Fe As Worksheet, Optional L As Long = 1, Optional C As Long = 1) As Range
     
        On Error GoTo Fin
     
        With Fe
     
            Set DefPlage = .Range(.Cells(L, C), _
                           .Cells(.Cells.Find("*", .[A1], -4123, , _
                           1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
                           2, 2).Column))
     
        End With
     
    Exit Function

Discussions similaires

  1. [XL-2010] Macro filtre et copie de données dans nouveaux fichiers
    Par Senka-75 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 27/10/2016, 09h27
  2. [WD-2007] macro qui copie une cellule dans une autre cellule d'un autre tableau
    Par jmperieras dans le forum VBA Word
    Réponses: 2
    Dernier message: 17/05/2013, 20h05
  3. [XL-2010] soucis avec macro insertion photos pour l'enregistrer dans le fichier
    Par fabrice5962 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 23/06/2012, 17h14
  4. [XL-2003] Macro : copie de feuilles dans un autre classeur : problèmes graphs + divers
    Par gandalf20000000 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 16/10/2009, 10h52
  5. macro filtre auto
    Par Jojonini dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 06/09/2007, 11h43

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