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 :
Pour une session différente :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
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é.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _ False, NoHTMLFormatting:=True
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
Partager