Problème copier/coller VBA (erreur 1004..)

acmilan2028 Messages postés 11 Statut Membre -  
acmilan2028 Messages postés 11 Statut Membre -
bonjour,
je travaille sur un fichier excel qui extrait les donnees d'un autre ficher excel fermé
chaque ligne de ce fichier est composé de 2 types de données et je veux diviser chaque ligne en 2 lignes
voila le code qui m'a permis de coller la premiere partie sans probleme


Sub ImporterExtrimite1()
Dim Chemin As String, Fichier As String
Chemin = "E:\Labinal\USB\Nabil\"
Fichier = "salam.xlsx"
ThisWorkbook.Names.Add "plage", _
RefersTo:="='" & Chemin & "[" & Fichier & "]Wire_IN_Harness'!$B:$B"
With Sheets("Feuil2")
.[B:B] = "=plage"
.[B:B].Copy
Sheets("Feuil1").Range("A1").PasteSpecial xlPasteValues
.[B:B].Clear
End With
ThisWorkbook.Names.Add "plage", _
RefersTo:="='" & Chemin & "[" & Fichier & "]Wire_IN_Harness'!$J:$J"
With Sheets("Feuil2")
.[J:J] = "=plage"
.[J:J].Copy
Sheets("Feuil1").Range("B1").PasteSpecial xlPasteValues
.[J:J].Clear
End With
ThisWorkbook.Names.Add "plage", _
RefersTo:="='" & Chemin & "[" & Fichier & "]Wire_IN_Harness'!$S:$S"
With Sheets("Feuil2")
.[S:S] = "=plage"
.[S:S].Copy
Sheets("Feuil1").Range("C1").PasteSpecial xlPasteValues
.[S:S].Clear
End With
ThisWorkbook.Names.Add "plage", _
RefersTo:="='" & Chemin & "[" & Fichier & "]Wire_IN_Harness'!$AX:$AX"
With Sheets("Feuil2")
.[AX:AX] = "=plage"
.[AX:AX].Copy
Sheets("Feuil1").Range("D1").PasteSpecial xlPasteValues
.[AX:AX].Clear
End With
ThisWorkbook.Names.Add "plage", _
RefersTo:="='" & Chemin & "[" & Fichier & "]Wire_IN_Harness'!$BA:$BA"
With Sheets("Feuil2")
.[BA:BA] = "=plage"
.[BA:BA].Copy
Sheets("Feuil1").Range("E1").PasteSpecial xlPasteValues
.[BA:BA].Clear
End With
ThisWorkbook.Names.Add "plage", _
RefersTo:="='" & Chemin & "[" & Fichier & "]Wire_IN_Harness'!$BU:$BU"
With Sheets("Feuil2")
.[BU:BU] = "=plage"
.[BU:BU].Copy
Sheets("Feuil1").Range("F1").PasteSpecial xlPasteValues
.[BU:BU].Clear
End With
ThisWorkbook.Names.Add "plage", _
RefersTo:="='" & Chemin & "[" & Fichier & "]Wire_IN_Harness'!$EF:$EF"
With Sheets("Feuil2")
.[EF:EF] = "=plage"
.[EF:EF].Copy
Sheets("Feuil1").Range("G1").PasteSpecial xlPasteValues
.[EF:EF].Clear
End With
ThisWorkbook.Names.Add "plage", _
RefersTo:="='" & Chemin & "[" & Fichier & "]Wire_IN_Harness'!$EE:$EE"
With Sheets("Feuil2")
.[EE:EE] = "=plage"
.[EE:EE].Copy
Sheets("Feuil1").Range("H1").PasteSpecial xlPasteValues
.[EE:EE].Clear
End With
End Sub





mon probleme commence lorsque j'essaie de copie la 2eme moitie des donnees dans la 1ere cellule non vide par ce code



Sub ImporterExtrimite2()
Dim Chemin As String, Fichier As String
Chemin = "E:\Labinal\USB\Nabil\"
Fichier = "salam.xlsx"
Dim i As Long
i = Range("A1").End(xlDown).Row
ThisWorkbook.Names.Add "plage", _
RefersTo:="='" & Chemin & "[" & Fichier & "]Wire_IN_Harness'!$B:$B"
With Sheets("Feuil2")
.[B:B] = "=plage"
.[B:B].Copy
Sheets("Feuil1").Range("A" & (i + 1)).PasteSpecial xlPasteValues
.[B:B].Clear
End With

End Sub




Erreur d'exécution '1004' Impossible de coller les informations car les zones de Copier et de Collage sont de forme et de taille différentes.
A voir également:

1 réponse

Gyrus Messages postés 3360 Statut Membre 526
 
Bonjour,

La plage que tu copies est constituée de la totalité d'une colonne (E:\Labinal\USB\Nabil\[salam.xlsx]Wire_IN_Harness'!$B:$B).
Le collage doit donc se faire sur la totalité de la colonne A.
Sheets("Feuil1").Range("A1").PasteSpecial xlPasteValues

A+
1
acmilan2028 Messages postés 11 Statut Membre 1
 
et si je veux copie juste la partie de B1 au dernier ligne non vide
0