Copier à partir d'un format CVS

MAZETTE

XLDnaute Occasionnel
Bonsoir à tous,

A partir d'un fichier au format CSV,je souhaiterai copier les colonnes A à E de la Feuil1 vers une feuille vierge d'un classeur au format xls.

En utilisant l'enregistreur de Macro, la mise en forme est complètement modifier ...Je me retrouve avec un truc en format texte...

Sub Macro3()
'
'
'
Workbooks.Open Filename:="C:\PMGI\Charge.csv"
Columns("A:E").Select
Selection.Copy
Windows("Classeur1.xls").Activate
Columns("A:A").Select
ActiveSheet.Paste

End Sub

J'ai également tenter le copier-coller spécial mais toujours sans succés...

Avez-vous une soluce pour conserver la mise en forme de départ?

Merci à vous
 

Pièces jointes

  • Charge.zip
    24.1 KB · Affichages: 30
  • Charge.zip
    24.1 KB · Affichages: 24
  • Charge.zip
    24.1 KB · Affichages: 27

JCGL

XLDnaute Barbatruc
Re : Copier à partir d'un format CVS

Bonjour à tous,

Par en enlevant :
Code:
Columns("A:A").Select
Je voulais dire en enlevant :
Code:
Columns("A:A").Select
......

Essaye avec :

Code:
Sub Macro3()

    Workbooks.Open Filename:="C:\PMGI\Charge.csv"
    Columns("A:E").Copy
    Windows("Classeur1.xls").Activate
    ActiveSheet.Paste

End Sub
 

Catrice

XLDnaute Barbatruc
Re : Copier à partir d'un format CVS

Bonsoir,

Tu peux essayer ceci (peut dependre de la version d'Excel) :

Sub Test() 'On considere que Classeur1.xls est deja ouvert
Chemin = ThisWorkbook.Path 'A modifier
Workbooks.OpenText Filename:=Chemin & "\Charge.csv", DataType:=xlDelimited, other:=True, otherchar:=";", local:=True
ActiveWorkbook.Sheets(1).Range("A1").CurrentRegion.Copy Workbooks("Classeur1.xls").Sheets(1).Range("A1")
End Sub
 

MAZETTE

XLDnaute Occasionnel
Re : Copier à partir d'un format CVS

Bonjour à tous les deux,

Concernant ton code JCLG, j'ai fait la modif mais j'obtient le même résultat...

Pour Catrice,j'ai adapté ton code par:

Sub Macro2()
'
'
'
Workbooks.OpenText Filename:="C:\PMGI\Charge.csv",DataType:=xlDelimited, other:=True,otherchar:=";", local:=True
Columns("A:E").Select
Selection.Copy
Windows("Classeur1.xls").Activate
Sheets("Feuil1").Range("A1").Select
ActiveSheet.Paste
Windows("Charge.csv").Activate
ActiveWindow.Close
End Sub

Et ça fonctionne plutot pas mal...

Merci à tous les deux...c'est chouette

@+
 

Catrice

XLDnaute Barbatruc
Re : Copier à partir d'un format CVS

Bonjour,

Ceci fontionne aussi et evite les Activate :

Sub Macro2()
Workbooks.OpenText Filename:="C:\PMGI\Charge.csv", DataType:=xlDelimited, other:=True, otherchar:=";", local:=True
Columns("A:E").Copy Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A1")
Workbooks("Charge.csv").Close False
End Sub
 

Discussions similaires

Réponses
13
Affichages
2 K

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin