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: Copier des lignes sur une autre feuille [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Vba: Copier des lignes sur une autre feuille
    Bonjour à tous,

    Je vous remercie d'avance pour votre aide qui me sera d'une grande utilité dans mon travail et je précise que je suis débutant en VBA

    Alors je vous explique . La première feuille "Calcul2" contient les données de 12mois de la colonne F à Q.
    Pour chaque ligne je dois copier les 12 données, ensuite aller sur la feuille "S-Wilk Test" est coller ces données en transposé dans la colonne "Data", le tableau de statistiques à coté me donne une décision "Reject" ou "Accept", je dois copier cette décision, ensuite revenir sur la première feuille et la coller dans la colonne R sur la ligne dont j'ai copié les 12 données.

    J'ai effectué une macro qui permet d'enregistrer les étapes que j'ai déjà expliqué au dessus, mais n'est effectué biensûr que sur la première ligne (premiére référence produit) , le but est de reproduire la macro sur toute les lignes du tableau "calcul2".

    Je vous met en pièce jointe le fichier excel. Sinon la macro réalisé sur la première ligne est la suivante:

    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
    Sub Macro5()
    '
    ' Macro5 Macro
    '
    '
       Sheets("Calcul 2").Select
        ActiveWindow.ScrollColumn = 12
        ActiveWindow.ScrollColumn = 11
        ActiveWindow.ScrollColumn = 10
        ActiveWindow.ScrollColumn = 9
        ActiveWindow.ScrollColumn = 8
        ActiveWindow.ScrollColumn = 7
        ActiveWindow.ScrollColumn = 6
        Range("F4:Q4").Select
        Selection.Copy
        Sheets("S-Wilk Test").Select
        Range("C6:C17").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=True
        ActiveWindow.ScrollColumn = 2
        ActiveWindow.ScrollColumn = 3
        ActiveWindow.ScrollColumn = 4
        ActiveWindow.ScrollColumn = 5
        ActiveWindow.ScrollColumn = 6
        Range("M30").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Calcul 2").Select
        Range("R4").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Essaie :

    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
    Sub Macro5()
        Dim C As Range, Plage As Range
        Application.ScreenUpdating = False
        With Sheets("Calcul 2")
            Set Plage = .Range("C4", .Cells(.Rows.Count, 3).End(xlUp))
        End With
        With Sheets("S-Wilk Test")
            For Each C In Plage
                C.Offset(, 3).Resize(, 12).Copy
                .[C6:C17].PasteSpecial xlPasteValues, Transpose:=True
                C.Offset(, 15).Value = .[M30]
            Next C
        End With
        Application.ScreenUpdating = True
    End Sub
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Wahou,

    Quoi dire d'autre ?

    ça marche à merveille , bon la boucle fait 5min pour faire 4000 lignes mais ça me semble très correcte.

    Merci énormément Daniel pour l'aide mais aussi pour la réactivité impressionnante

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

Discussions similaires

  1. Copier des lignes dans une autre feuille sous condition
    Par Maya06 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/05/2014, 20h57
  2. trier et copier des données sur une autre feuille excel
    Par mirage37 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/07/2012, 17h08
  3. [XL-2007] Copier une série de ligne sur une autre feuille
    Par cirious14 dans le forum Excel
    Réponses: 1
    Dernier message: 03/02/2011, 16h59
  4. [XL-2003] Copier des lignes dans une autre feuille à la première ligne vide
    Par PasDan dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/09/2010, 13h34
  5. Excel-copier des lignes sur une autre feuille
    Par petecul dans le forum Excel
    Réponses: 7
    Dernier message: 13/09/2007, 02h56

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