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 :

VBA simplier macro [XL-2016]


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
    Homme Profil pro
    employé
    Inscrit en
    Juin 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : employé
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 4
    Par défaut VBA simplier macro
    Bonjour à tous,

    je fais appel a vos connaissances,

    J'ai une macro qui filtre dans un premier temps, puis copie les données et les colles dans un nouveaux fichier,

    puis enregistre sous le nouveau fichier et supprime les données, et ceci doit recommencer 38 fois,

    J'ai fait ma macro sur un test et donc faire cette commande 3 a 4 fois,

    Mais du coup ma macro est très lente et longue,

    est ce que quelqu'un peu m'aider à simplifier ma macro,

    merci de votre aide

    voici ma macro test :

    Code VBA : 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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
       Windows("XECHS MATRICE.xlsx").Activate
        Selection.AutoFilter
        ActiveSheet.Range("$A$1:$Q$11635").AutoFilter Field:=2, Criteria1:="10"
        Range("A1").Select
        Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Copy
            Windows("Balance Agee VIDE.xlsx").Activate
        Range("A1").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        ChDir "E:\BALANCE\IDF"
        ActiveWorkbook.SaveAs Filename:="E:\BALANCE\IDF\Balance Agee 10.xlsx", _
            FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        Cells.Select
        Selection.ClearContents
        Windows("XECHS MATRICE.xlsx").Activate
        ActiveWindow.LargeScroll ToRight:=-1
        ActiveSheet.Range("$A$1:$Q$11635").AutoFilter Field:=2, Criteria1:="12"
        Range("A1").Select
        Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
        Selection.Copy
        Windows("Balance Agee 10.xlsx").Activate
        Range("A1").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        ChDir "E:\BALANCE\SUD"
        ActiveWorkbook.SaveAs Filename:="E:\BALANCE\SUD\Balance Agee 12.xlsx", _
            FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        Selection.ClearContents
        Sheets("Données Arcole Détaillées").Select
        Windows("XECHS MATRICE.xlsx").Activate
        ActiveWindow.LargeScroll ToRight:=-1
        ActiveSheet.Range("$A$1:$Q$11635").AutoFilter Field:=2, Criteria1:="13"
        ActiveWindow.SmallScroll Down:=285
        ActiveWindow.ScrollRow = 1
        ActiveWindow.ScrollRow = 2378
        ActiveWindow.ScrollRow = 11889
        ActiveWindow.ScrollRow = 14266
        ActiveWindow.ScrollRow = 35665
        ActiveWindow.ScrollRow = 33288
        ActiveWindow.ScrollRow = 21399
        ActiveWindow.ScrollRow = 1
        Selection.Copy
        Windows("Balance Agee 12.xlsx").Activate
        Range("A1").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        ChDir "E:\BALANCE\IDF"
        ActiveWorkbook.SaveAs Filename:="E:\BALANCE\IDF\Balance Agee 13.xlsx", _
            FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        Selection.ClearContents
        Windows("XECHS MATRICE.xlsx").Activate
        ActiveSheet.Range("$A$1:$Q$11635").AutoFilter Field:=2, Criteria1:="=45", _
            Operator:=xlOr, Criteria2:="=46"
        Selection.Copy
        Windows("Balance Agee 13.xlsx").Activate
        Range("A1").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        ChDir "E:\BALANCE\ES OUEST"
        ActiveWorkbook.SaveAs Filename:="E:\BALANCE\ES OUEST\Balance Agee 46.xlsx", _
            FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        Selection.ClearContents
        Windows("XECHS MATRICE.xlsx").Activate
        ActiveSheet.Range("$A$1:$Q$11635").AutoFilter Field:=2, Criteria1:="36"
        Range("A1").Select
        Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
        Selection.Copy
        Windows("Balance Agee 46.xlsx").Activate
        Range("A1").Select
        ActiveSheet.Paste
        ActiveWindow.SmallScroll Down:=507
        Windows("XECHS MATRICE.xlsx").Activate
        ActiveWindow.SmallScroll Down:=27
        ActiveWindow.LargeScroll ToRight:=-1
        ActiveWindow.SmallScroll Down:=75
        Windows("Balance Agee 46.xlsx").Activate
        ActiveWindow.SmallScroll Down:=-99
        Application.CutCopyMode = False
        ChDir "E:\BALANCE"
        ActiveWorkbook.SaveAs Filename:="E:\BALANCE\Balance Agee 36.xlsx", _
            FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        ActiveWindow.Close
    End Sub

    Merci de votre aide

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    ton code me brule les yeux, mais c'est normal avec l'enregistreur
    Reprenons à la base
    J'ai une macro qui filtre dans un premier temps, puis copie les données et les colles dans un nouveaux fichier
    dans quel fichier est la macro parce que je vois tu ouvres un "Xlsx" ?

    que copies-tu exactement, des données filtrées, ok !, mais les valeurs ?, les valeurs et formules ?, tout (avec les formats) ?
    quand je vois le début
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ....
    Windows("Balance Agee VIDE.xlsx").Activate
        Range("A1").Select
    ....
    sur quelle feuille colles-t'on les données ?

    au départ, je me contenterai de ces informations, la suite....après!
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    employé
    Inscrit en
    Juin 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : employé
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 4
    Par défaut
    Citation Envoyé par casefayere Voir le message
    Bonjour,
    ton me brule les yeux, mais c'est normal avec l'enregistreur
    Reprenons à la base

    dans quel fichier est la macro parce que je vois tu ouvres un "Xlsx" ?

    que copies-tu exactement, des données filtrées, ok !, mais les valeurs ?, les valeurs et formules ?, tout (avec les formats) ?
    quand je vois le début
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ....
    Windows("Balance Agee VIDE.xlsx").Activate
        Range("A1").Select
    ....
    sur quelle feuille colles-t'on les données ?

    au départ, je me contenterai de ces informations, la suite....après!
    Ma Macro est dans un fichier excel,
    Oui je copie avec les même format, je conserve les formules,
    et je colle dans un autre fichier excel

    Je sais pas si c'est claire, je débute dans les macros,

    En tout cas un grand merci pour l'aide

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    tu ne réponds pas à tout : sur quelle feuille colles-t-on les données ?

    Maintenant, je viens de voir la réponse à Philippe, alors fais un peu de lecture sur son lien et dis-nous tout
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    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 171
    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 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Oui je copie avec les même format, je conserve les formules,
    et je colle dans un autre fichier excel
    Quand tu écris que tu conserves les formules, cela signifie-t-il que tu exportes les formules dans la feuille cible ?
    Si c'est le cas, le filtre avancé ne peut pas t'aider car l'exportation ne garde que les données par contre le format est conservé.
    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

  6. #6
    Futur Membre du Club
    Homme Profil pro
    employé
    Inscrit en
    Juin 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : employé
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 4
    Par défaut
    Bonjour,

    Merci de l'aide, et des conseils, j'ai retravaillé le fichier de destination pour pourvoir faire un filtre avancé,

    et du coup ma macro est beaucoup plus légère et rapide,

    Merci de votre aide

  7. #7
    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 171
    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 171
    Billets dans le blog
    53
    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

  8. #8
    Futur Membre du Club
    Homme Profil pro
    employé
    Inscrit en
    Juin 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : employé
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 4
    Par défaut
    Merci de la réponse je vais étudier tout sa ,

    Merci pour tout

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

Discussions similaires

  1. [VBA-E] Macro automatique ouverture Excel
    Par P50 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/04/2006, 11h42
  2. [VBA-E] Macro introuvable
    Par Persons dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 03/04/2006, 10h12
  3. [VBA] Excel + macro + aléatoire
    Par spopo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/01/2006, 15h42
  4. [VBA-E] macro conversion excel vers csv
    Par baboune dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/07/2004, 09h23
  5. [VBA-E] Macro ouverture fichier déja ouvert
    Par bhaal76 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2002, 14h30

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