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 :

Problème de copié collé en VBA sous Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 481
    Points : 165
    Points
    165
    Par défaut Problème de copié collé en VBA sous Excel
    Bonjour,

    J'ai un soucis pour effectuer cette tâche à priori simple en VBA sous Excel d'un copié-collé qui fait partie d'un traitement assez lourd (90000 lignes de code).

    Le traitement bute sur la copie : Excel ne répond plus, mais je peux encore récupérer la main en faisant "<CTRL> + <ArretDeffil>". A chaque fois je me trouve sur la ligne qui porte l'action de "coller".

    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
    Sub CopyPasteRange(ByRef WksDest As Worksheet, ByVal str_PlageSrc As String, str_PlageDest As String)
        Dim StrPlage            As String
        Dim LngCutCopyMode      As Long
     
        Application.EnableEvents = False
        Application.EnableLivePreview = False
        Application.EnableAutoComplete = False
        Application.EnableAnimations = False
        Application.EnableLivePreview = False
     
        LngCutCopyMode = Application.CutCopyMode
        Call VidePressePapier
        Application.CutCopyMode = xlCopy
     
        With Worksheets(WksDest.Name)
            StrPlage = Replace(str_PlageSrc, "$", "")
            .Range(StrPlage).Copy
            StrPlage = Replace(str_PlageDest, "$", "")
            .Range(StrPlage).PasteSpecial _
                 Paste:=xlPasteAll, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
        End With
     
        Application.CutCopyMode = LngCutCopyMode
     
        Application.EnableEvents = True
        Application.EnableLivePreview = True
        Application.EnableAutoComplete = True
        Application.EnableAnimations = False
        Application.EnableLivePreview = False
     
    End Sub
    J'ai déjà essayé plusieurs choses et à chaque fois ça fait le comportement est le même.

    Il y a des évènements dans les Worksheet et dans le ThisWorkbook. Ça explique peut-être mon souci, mais en même temps, comme vous pouvez le voir ci-dessus j'ai désactivé les évènements.

    Est-ce que vous pourriez m'aider s'il vous plait à comprendre pourquoi cette procédure ne marche pas. Verriez vous une solution à mon problème ?

    Par avance merci.

    Marco.

  2. #2
    Membre expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Points : 3 016
    Points
    3 016
    Par défaut
    Bonjour,

    Est-ce que vous pouvez nous indiquer le nombre de lignes copiées et collées?
    Je ne l"ai vu nulle part.
    Après vous pouvez essayer de désactiver l'affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.screenupdating=false
    Si la feuille entière est copiée, le traitement peut-être très long.
    Cordialement,
    Christophe

    Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 481
    Points : 165
    Points
    165
    Par défaut
    Bonsoir,

    Tout d'abord merci de cette réponse très rapide.
    Voici ce que je peux dire à titre d'exemple, sachant que la procédure est répétée pas mal de fois :

    Lors d'une itération il y a copie
    - de la range : StrPlageS = AD1:JN13
    - Vers la range : StrPlageD = AE1:JO13

    Par avance merci.

    Marco.

Discussions similaires

  1. Problème de macro en VBA sous excel
    Par Nadounette123 dans le forum Excel
    Réponses: 4
    Dernier message: 26/10/2013, 09h17
  2. Problème de macro en VBA sous excel
    Par Nadounette123 dans le forum Excel
    Réponses: 2
    Dernier message: 19/09/2013, 15h34
  3. [XL-2010] Problème VBA sous Excel
    Par Tauma dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/02/2012, 10h06
  4. [XL-2003] Problème de VBA sous excel 2003 pour excel 97.
    Par blacksun1 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/06/2010, 11h44
  5. objet shape en vba sous excel
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2005, 15h04

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