Bonjour à tous,

J'ai commencé à faire une macro qui va coller un Tableau d'amortissement préalablement copié à un endroit bien précis, avec les formats désirés déjà parémétrés sur les colonnes.

Seulement, étant sous Excel entreprise, 2 types de collages existent, celui pour lequel les données proviennent de la même session Excel que mon fichier sur lequel sera collé le TA, et celui pour lequel les données viennent d'une autre session Excel que le fichier qui va aceuillir le TA.

Pour la même session :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Pour une session différente :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
        False, NoHTMLFormatting:=True
J'ai donc mis en place un premier On Error GoTo pour aller tester le deuxième type de collage si le premier ne fonctionne pas. Seulement, je voudrais à présent rajouter un deuxième On Error GoTo qui m'affiche un petit MsgBox si l'utilisateur a oublié de copier un TA avant de vouloir le collé.

Il se trouve que ce deuxième On Error GoTo ne fonctionne pas, je ne sais pas où est mon erreur. Voici le code global, merci pour votre aide!

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
Sub CollerTA()
'***************************************************************
'Macro collant correctement le TA copié voulu dans la feuille TA
'***************************************************************
 
    '**************************
    'Initialisation de la macro
    '**************************
    'Masquer l'éxecution de la macro
    Application.ScreenUpdating = False
 
    'Sélectionner la feuille TA
    Sheets("TA").Select
    'Se placer en première cellule de TA
    Range("A2").Select
 
    '******
    'Coller
    '******
    'Version même classeur
    On Error GoTo AutreClasseur
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
 
        'Sélection clean
    Range("A2").Select
 
    'Afficher l'éxecution de la macro
    Application.ScreenUpdating = True
 
    Exit Sub
 
AutreClasseur:
    'Version autre classeur
    On Error GoTo ErreurCollage
    ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
        False, NoHTMLFormatting:=True
 
    'Sélection clean
    Range("A2").Select
 
    'Afficher l'éxecution de la macro
    Application.ScreenUpdating = True
 
    Exit Sub
 
ErreurCollage:
MsgBox "Erreur, il semblerait que vous n'ayez pas copié votre TA, ou bien que vous l'ayez copié depuis un fichier protégé par exemple", vbOKOnly, "Attention"
End Sub