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

Fermé
acmilan2028 Messages postés 9 Date d'inscription mercredi 19 mars 2014 Statut Membre Dernière intervention 23 juillet 2014 - 19 mars 2014 à 13:11
acmilan2028 Messages postés 9 Date d'inscription mercredi 19 mars 2014 Statut Membre Dernière intervention 23 juillet 2014 - 19 mars 2014 à 19:40
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 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
19 mars 2014 à 15:15
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 9 Date d'inscription mercredi 19 mars 2014 Statut Membre Dernière intervention 23 juillet 2014 1
19 mars 2014 à 19:40
et si je veux copie juste la partie de B1 au dernier ligne non vide
0