Bonjour,

J'aimerai, copier la ligne en cours de selection et la copier en dessous de la derniere ligne non vide d'un autre classeur.
Ca plante ligne 36 => " La méthode paste spécial de la classe Range à échoué".
Quelqu'un a-t-il une idée?

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
50
51
52
53
'++++++++++++++++++++++++++++++++++++++++++++++++ Mise à jour BD +++++++++++++++++++++++++++++++++++++++++++++
Private Sub CommandButtonMiseAJourBD_Click()
 
 
Unload UserFormAjoutArticle
 
 
 
 
    Dim Cls_ArticleTempo As Workbook 'Commande
    Dim Cls_BaseArticle As Workbook 'Base article
    Dim Plage As Range
    Dim Cel As Range
    Dim NumArticle As String   'NumCommande
    Dim DerniereLigneCible As Long
    Dim i As Long
 
    Set Cls_ArticleTempo = ThisWorkbook
 
      'Copier la ligne en cours de selection
 
        Rows(ActiveCell.Row & ":" & ActiveCell.Row).Copy
 
    'Ouvrire la base articles
    Set Cls_BaseArticle = Workbooks.Open("Y:\BASE DOCUMENT\BASE TECHNIQUE\BASE ARTICLES.xlsm")
 
    Cls_BaseArticle.Sheets("Liste des articles").Unprotect
 
 
        With Cls_BaseArticle
 '            DerniereLigneCible = .Cells(.Rows.Count, 2).End(xlUp).Row Or .Cells(.Rows.Count, 3).End(xlUp).Row 'derniere ligne = colonne 2 ou colonne 3 non vide
             DerniereLigneCible = Range("A" & Rows.Count).End(xlUp).Row + 1
 'coller la ligne en cours de selection
 
 
    Range("A" & DerniereLigneCible).PasteSpecial Paste:=xlPasteValues
 
 
        End With
 
 
 
    'Protéger la feuille
    Cls_BaseArticle.Sheets("Liste des articles").Protect , True, True, True, , True, , , , , , , , True, True
 
    'Enregistrer
    Cls_BaseArticle.Save
    Cls_BaseArticle.Close False
 
 
 
 
End Sub