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 :
J'ai déjà essayé plusieurs choses et à chaque fois ça fait le comportement est le même.
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
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.
Partager