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 :

Activation de la macro sur toutes les lignes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 22
    Par défaut Activation de la macro sur toutes les lignes
    Bonjour,
    Je souhaite rendre ma macro valable pour toutes les lignes du tableau.
    Cette macro consiste à copier les données de chaque ligne, faire le filtre dans une nouvelle feuille et copier les données sur ma feuille principale.
    Jusqu'a présent je ne l'ai fait que pour la premiere ligne et j'arrive pas a l'appliquer pour toutes les lignes.
    Merci pour votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    Hello ,
    Peux tu mettre ton code ( entre balises bien sur) sur le forum.
    Merci

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 22
    Par défaut
    Mon code est un peu long c'est pour ça que je voulais pas le mettre mais si tu le demande:
    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
    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
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    Sub lancer()
    '
    ' lancer Macro
    '
     
    '
        Range("D2").Select
        Selection.Copy
        Sheets("tressage prod").Select
        ActiveSheet.Range("$C$6:$I$12").AutoFilter Field:=4, Criteria1:="=1223", _
            Operator:=xlAnd
        Range("C7:I28").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Consultation opé").Select
        Range("C7").Select
        ActiveSheet.Paste
        Sheets("tressage prod").Select
        Range("J7:L28").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Consultation opé").Select
        ActiveWindow.ScrollColumn = 2
        ActiveWindow.ScrollColumn = 3
        Range("P7").Select
        ActiveSheet.Paste
        ActiveWindow.ScrollColumn = 2
        ActiveWindow.ScrollColumn = 1
        Range("D2").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("tps d'arrêt tressage").Select
        ActiveSheet.ListObjects("Tableau3").Range.AutoFilter Field:=4, Criteria1:= _
            "=1223", Operator:=xlAnd
        Sheets("Consultation opé").Select
        Range("C7").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("tps d'arrêt tressage").Select
        ActiveSheet.ListObjects("Tableau3").Range.AutoFilter Field:=1, Criteria1:= _
            "=4/06/2013", Operator:=xlAnd
        Range("J41:J42").Select
        Range("J42").Activate
        Sheets("Consultation opé").Select
        Range("D7").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("tps d'arrêt tressage").Select
        ActiveSheet.ListObjects("Tableau3").Range.AutoFilter Field:=2, Criteria1:= _
            "=1223", Operator:=xlAnd
        Sheets("Consultation opé").Select
        Range("E7").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("tps d'arrêt tressage").Select
        ActiveSheet.ListObjects("Tableau3").Range.AutoFilter Field:=3, Criteria1:= _
            "=am", Operator:=xlAnd
        Range("G5").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Consultation opé").Select
        Range("K7").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("tps d'arrêt tressage").Select
        Range("G5").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Consultation opé").Select
        Range("K7").Select
        ActiveSheet.Paste
        Sheets("tps d'arrêt tressage").Select
        Range("I5").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Consultation opé").Select
        Range("L7").Select
        ActiveSheet.Paste
        Sheets("tps d'arrêt tressage").Select
        Range("K5").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Consultation opé").Select
        Range("M7").Select
        ActiveSheet.Paste
        Sheets("tps d'arrêt tressage").Select
        Range("M5").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Consultation opé").Select
        Range("N7").Select
        ActiveSheet.Paste
        Sheets("tps d'arrêt tressage").Select
        ActiveSheet.ListObjects("Tableau3").Range.AutoFilter Field:=3
        ActiveSheet.ListObjects("Tableau3").Range.AutoFilter Field:=4
        ActiveSheet.ListObjects("Tableau3").Range.AutoFilter Field:=2
        ActiveSheet.ListObjects("Tableau3").Range.AutoFilter Field:=1
        Sheets("tressage prod").Select
        ActiveSheet.Range("$C$6:$I$12").AutoFilter Field:=4
        Sheets("Consultation opé").Select
    End Sub

  4. #4
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut activation de la macro sur toutes les lignes
    Bonjour,

    Je vois bien en lisant ton code que tu as 3 feuilles mais, pour être clair, tu veux :

    - copier les données de chaque ligne de quelle feuille (nom) ?

    - faire le filtre dans une nouvelle feuille son nom ? et est-ce la feuille su laquelle tu as fait la copie ci-dessus ?

    - et copier les données sur ma feuille principale copier les données de quelle feuille (nom) sur quelle feuille principale (nom) ?

    Cordialement

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 22
    Par défaut
    Bonjour,
    Pour je souhaiterai copier les données de ma feuille "consultation opé"
    et faire le filtre dans ma feuille "temps d'arrêt tressage"
    Copier les donner de cette feuille ("temps d'arrêt tressage" )et les coller sur "consultation opé").
    On effet: il existe un champs a remplir qui est dans la cellule D2. et c'est la valeur de cette cellule qui va etre coller dans le filtre de la feuille "tressage prod" dans un premier temps.Les données affichées (apres filtrage) sur cette feuille vont etre copiées puis collées dans ma feuille ("consulation opé")
    Pour finir ma recherche. La suite tu tableau réalisé sur consultation opé se trouve dans ma feuille "temps d'arret tressage". on fait le filtre selon toutes les données qui ont été collées dessus dans la feuille temps d'arret tressage on copie puis on colle sur consultation opé pour finir la recherche.
    Merci

  6. #6
    Membre éprouvé
    Inscrit en
    Mai 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 85
    Par défaut
    J'ai pas compris ton problème dans son intégrité. Mais déjà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Range("D2").Select
        Selection.Copy
        Sheets("tressage prod").Select
        ActiveSheet.Range("$C$6:$I$12").AutoFilter Field:=4, Criteria1:="=1223", Operator:=xlAnd
    Ici les 2 premières lignes ne servent à rien puisque tu copie la cellule D2 et la colle nulle part.

    Pour moi l'étape qui consiste à filtrer s'écrira comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        Dim critere as long
     
        critere=cells(2,4)
     
        Sheets("tressage prod").Select
        ActiveSheet.Range("$C$6:$I$12").AutoFilter Field:=4, Criteria1:="=" & critere, Operator:=xlAnd
    Ensuite enlève toute les lignes "ActiveWindow.ScrollColumn", ça sert à rien a part surcharger ton code.

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/01/2009, 14h01
  2. [JXTable] Tri mais pas sur toutes les lignes
    Par grabriel dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 12/07/2007, 09h17
  3. Réponses: 6
    Dernier message: 05/12/2006, 10h28
  4. [sql2005]trigger qui s'éxecte sur toutes les lignes
    Par malikoo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 31/07/2006, 12h33

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