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 :

Copy et pasteSpecial lent ,problème de presse papier?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 551
    Par défaut Copy et pasteSpecial lent ,problème de presse papier?
    Bonjour,

    Lorsque je passe d'une feuille à l'autre, si il y'a eu une modification dans une certaine plage de donnée, on copie les données d'une feuille vers l'autre, voici le code :

    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
     
    Public Sub copieVentilVersRecap()
    Dim intDerniereLigne As Integer
    Dim intDerniereLigneRecap As Integer
    Dim strFormuleCol5 As String
     
    'On Error GoTo Err_copieVentilVersRecap
     
        intDerniereLigne = WsVentilation.Range("AC65536").End(xlUp).Row + 1 ' pour le total
        intDerniereLigneRecap = WsRecap.Range("AC65536").End(xlUp).Row + 1
        'MEI =======================================
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        WsRecap.Unprotect
        Application.StatusBar = "Début de la copie des données de la feuille Ventilation vers Recap"
     
        ClasseRecapParCollabo
     
        WsVentilation.Range("A6:B" & intDerniereLigne).Copy
        WsRecap.Range("C6:D" & intDerniereLigne).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
     
        WsVentilation.Range("C6:D" & intDerniereLigne).Copy
        WsRecap.Range("A6:B" & intDerniereLigne).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
     
     
        WsVentilation.Range("E6:AC" & intDerniereLigne).Copy
        WsRecap.Range("E6:AC" & intDerniereLigne).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
     
       ' WsVentilation.Cells(1, 1).SetFocus
     
        Application.StatusBar = "Fin de la copie des données de la feuille Ventilation vers Recap"
     
        If intDerniereLigne < intDerniereLigneRecap Then
            WsRecap.Rows(intDerniereLigne + 1 & ":" & intDerniereLigneRecap).Delete xlUp
        End If
     
        gbRecapChange = False
        gbVentilChange = False
     
        ClasseRecapParContrat
         'Sortie obligatoire ========================
    Sort_Workbook_SheetChange:
            DefinitComportementRecap (gIntModeUtilisation)
            WsRecap.Protect
            Application.ScreenUpdating = True
            Application.EnableEvents = True
            Application.StatusBar = ""
            Exit Sub
        'Traitement des erreurs =====================
    Err_copieVentilVersRecap:
            MsgBox err.Description, vbCritical + vbOKOnly, "ERREUR n°" & err.Number
            Resume Sort_Workbook_SheetChange
     
     
    End Sub

    La première fois que les données sont copiées, cela se fait rapidement, puis la deuxieme fois un peu moins rapidement et la 5ème fois Excel devient un gros escargot..

    Un problème de contenu dans le presse papier?
    De plus après la taille du fichier devient considérablement plus important.

    merci d'avance

    Nath

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 551
    Par défaut
    si jamais qq rencontre le même problème, il suffit d'executer la macro qui nettoie le classeur et tout rentre dans l'ordre ensuite.....enfin jusqu'à maintenant, croisons les doigts

    Je pensais qu'une fois le classeur nettoyé il reprendrait du poids au fur et à mesures de mes manips mais non !

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 60
    Par défaut
    bonjour,

    Comment peut on executer cette macro de netoyage?

    Merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 551
    Par défaut
    je la joint à mon message.

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

Discussions similaires

  1. [XL-2010] Problème vider presse papier
    Par Bobif dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 06/01/2015, 15h17
  2. Problème de presse papier
    Par koKoTis dans le forum Word
    Réponses: 4
    Dernier message: 19/09/2013, 23h13
  3. Word vers Publisher : problème de Presse-papiers
    Par Midas1422 dans le forum Microsoft Office
    Réponses: 0
    Dernier message: 28/02/2013, 16h29
  4. Réponses: 2
    Dernier message: 14/03/2010, 17h24
  5. [VB.NET]Copie dans le presse-papier
    Par San Soussy dans le forum Windows Forms
    Réponses: 9
    Dernier message: 19/03/2004, 15h18

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