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 :

Copier Coller dans une macro. [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Copier Coller dans une macro.
    J'aimerai avoir votre aide
    J'ai en place un algorithme (macro) qui copie et colle plusieurs fois d'une feuille à une autre.
    Donc le problème est que lors de l’exécution, ses copies et collages défilent sur l'écran et c'est pas du tout beau à voir.
    J'ai besoin d'une méthode pour palier à cela
    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    Bonjour,
    mettre au début de la macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating = False


    mettre à la fin de la macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating = true


    aussi ne pas activer les feuilles pour copier ni coller. vous gagnerez de la vitesse (si ce n'est pas fait)

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Macro
    Merci #gnain
    Je viens de l'essayer et ça marcher.
    C'est comme si tu étais dans ma tête, Effectivement je me posais la question sur l'activation des feuilles avant copie.
    J'ai essayé cela mais ça buggais donc je suis revenu à l'activation avant copie et collage.

    Voici un exemple de bout de code(copier_coller) :
    ***********
    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
    F1 ="FRONTO"          
    Sheets("Traitement").Select
                ActiveSheet.Range("$A$2:$BP$3089").AutoFilter Field:=3, Criteria1:= _
                "FRONTO"
                Range("A3").Select
                Range(Selection, Selection.End(xlToRight)).Select
                Range(Selection, Selection.End(xlDown)).Select
                Selection.Copy
                Sheets(F1).Select
                Range("A3").Select
                ActiveSheet.Paste
                Application.CutCopyMode = False
                Sheets("Traitement").Select
                ActiveSheet.Range("$A$2:$BP$3089").AutoFilter Field:=3
                'ActiveWindow.Panes(4).Activate
                Sheets(F1).Select
    *************

  4. #4
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    Bonjour,
    essaie cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    With Sheets("Traitement")
        .Range("$A$2:$BP$3089").AutoFilter Field:=3, Criteria1:="FRONTO"
        der_ligne = .Range("A" & Rows.Count).End(xlUp).Row
        der_Col = .Cells(4, 1).End(xlToRight).Column
        .Range(.Cells(3, 1), .Cells(der_ligne, der_Col)).Copy _
        Destination:=Worksheets(F1).Range("A3")
        .Range("$A$2:$BP$3089").AutoFilter Field:=3
    End With

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Macro
    Ça marche

    Mais juste que je veux que le collage soit en "valeur" et non avec formule.
    Si tu as un lien, ou je peux trouver ces petits détails, à me proposer, je crois que je t’éviterai ce genre de petites questions.

    Merci #gnain

  6. #6
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut


    Bonjour,

    utiliser alors la propriété Value


    _____________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …


    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 11
    Points : 4
    Points
    4
    Par défaut macro
    Ca ne marche malheureusement pas avec : value

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    With Sheets("Traitement")
                .Range("$A$2:$BP$3089").AutoFilter Field:=3, Criteria1:="FRONTO"
                der_ligne = .Range("A" & Rows.Count).End(xlUp).Row
                der_Col = .Cells(4, 1).End(xlToRight).Column
                .Range(.Cells(3, 1), .Cells(der_ligne, der_Col)).Copy.value _  ' ou value.copy                ne marche pas
                Destination:=Worksheets(F1).Range("A3")
                .Range("$A$2:$BP$3089").AutoFilter Field:=3
    End With

  8. #8
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut




    Sans copie comme dans l'exemple du lien de Value !

    Et conformément aux règles du forum, merci d'utiliser l'icône # dédiée au balisage de code …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Malheureusement ça ne marche toujours pas

  10. #10
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut





    RangeDestination.Value = RangeSource.Value … En une seule ligne de code comme dans le lien !

    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    ça ne marche toujours pas

  12. #12
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut





    Moi cela fonctionne bien ainsi … Et ce depuis plus de dix ans quelle que soit la version d'Excel !




    _____________________________________________________________________________________________________
    Heureux l'étudiant qui, comme la rivière, suit son cours sans quitter son lit …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  13. #13
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    J'ai probablement commis une erreur à quelque part
    Merci Marc-L

  14. #14
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    Bonjour,
    essaie comme ça.
    pour copier les valeurs des formules

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    With Sheets("Traitement")
        .Range("$A$2:$BP$3089").AutoFilter Field:=3, Criteria1:="FRONTO"
        der_ligne = .Range("A" & Rows.Count).End(xlUp).Row
        der_Col = .Cells(4, 1).End(xlToRight).Column
       .Range(.Cells(3, 1), .Cells(der_ligne, der_Col)).Copy
        Sheets(F1).Range("A3").PasteSpecial xlPasteValues
        .Range("$A$2:$BP$3089").AutoFilter Field:=3
    End With

  15. #15
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Ca plutot marché avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(F1).Range("A3").PasteSpecial xlPasteValues
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(F1).Range("A3").PasteSpecial xlPasteValues
    Merci pour votre aide

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

Discussions similaires

  1. Macro copier coller dans une autre feuille
    Par olivverte dans le forum Excel
    Réponses: 23
    Dernier message: 17/12/2013, 14h35
  2. recherche dans une base de donnees; copier coller via une macro
    Par yannlvr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/04/2010, 17h58
  3. comment empêcher le copier/coller dans une zone de texte
    Par hanafimohammed dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 22/05/2007, 20h57
  4. JTree : copier, coller dans une feuille.
    Par sricard dans le forum Composants
    Réponses: 2
    Dernier message: 28/09/2006, 07h35
  5. gerer le copier/coller dans une richEdit
    Par SBP dans le forum MFC
    Réponses: 4
    Dernier message: 10/02/2005, 21h00

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