Importez dans excel CSV mis en forme

Fermé
Prévan Messages postés 9 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 14 juin 2010 - 11 juin 2010 à 11:47
Prévan Messages postés 9 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 14 juin 2010 - 14 juin 2010 à 13:28
Bonjour,

me revoilà armé d'une nouvelle question ! J'ai besoin d'importer un fichier csv dans une feuille déjà nommée "Données brutes". Deux problèmes se présentent à moi :

- J'arrive à importer mais uniquement dans une nouvelle feuille que je renomme, et non pas dans une feuille déjà existante et destinée à recevoir les données de mon choix.
- Lors de l'import, la mise en forme est totalement hors sujet. Les "," deviennent des séparateurs par exemple.

Pour le premier point, il doit suffir de mettre au bon endroit une ligne de code pour que les données soient importées dans "Données brutes", sans que ça créé une nouvelle feuille comme c'est le cas pour l'instant. Mais je ne sais pas comment mettre ça en forme.

Et pour le deuxième point ; HORS MACRO, lorsque j'importe manuelle avec "Données -> données externe" tout se passe impeccablement. Mais d'un lorsque je créé une macro, l'option "importer données extérieures" m'est grisé (je ne peux pas effectuer cette tâche), et de deux, de toute façon je veux avoir le choix du fichier à importer, il me faut donc dans ma macro au moins une commande qui me permettent de choisir quel fichier importer.

Voilà pour l'instant mon code ;

Sub ouvrir3()
  Dim NomFic As String, Pos As Integer
  nf = Application.GetOpenFilename("Fichiers Csv,*.csv")
  If Not nf = False Then
      ' Récupérer la position du dernier anti-slash
    Pos = InStrRev(nf, "\")
    ' Récupérer le nom du fichier
    NomFic = Mid(nf, Pos + 1, Len(nf) - Pos)
    ' Ouvrir le fichier avec chemin complet
    Workbooks.Open Filename:=nf
    ' Copier la feuille dans ce classeur
    Workbooks(NomFic).Sheets(1).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
    ' Fermer le fichier CSV
    Workbooks(NomFic).Close SaveChanges:=False

  End If
  
    Sheets(4).Name = "Données brutes"
    
End Sub


Merci tout plein.

A voir également:

1 réponse

Prévan Messages postés 9 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 14 juin 2010
14 juin 2010 à 13:28
Je fais remonter ce thread dans l'espoir d'une réponse.

Merci.
0