Plusieurs On Error GoTo à la suite
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:
1 2
| Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False |
Pour une session différente :
Code:
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:
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 |