• Initiateur de la discussion Initiateur de la discussion Lynk Zel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

Lynk Zel

Guest
bonjour ,

voila mon problème.

1 - j'aimerai cliquez sur un bouton "IMPORT FICHIER" qui m'ouvre la fenêtre windows avec tous mes fichiers .csv dedans.
2 - ensuite je choisi donc le fichier que je souhaite et je clique sur "ouvrir"
3 - Par contre, là où sa bloque c'est la mise en place des colonnes et des lignes du tableau qui doit s'afficher (en temps normale Excel ouvre différentes fenêtres pour savoir comment placer son fichier import, si c'est en ligne, en colonne mais si c'est possible de créer une macro qui peut faire directement, je suis prenneur)

je joint un fichier avec une disposition, des lignes et des colonnes à supprimer.

Si quelqu'un veut d'autres renseignements qu'il me previenne.
merci et bonne journée.
@+
 

Pièces jointes

Re : .csv vers .xls

Bonjour Lynk Zel,

pour le 1- et 2-, pas de soucis, tu peux faire apparaître une boite de dialogue d'ouverture de fichier (ça dépend un peu de ta version d'Excel)
pour le 3- : les fichiers CSV ne font pas apparaître l'assistant de conversion (contrairement aux fichiers txt par exemple).
 
Re : .csv vers .xls

Por le 1 et 2 :

Code:
Dim DialOuvr as FileDialog, Rep, Chemin as String
Set DialOuvr = Application.FileDialog(msoFileDialogOpen)
DialOuvr.Filters.Clear
DialOuvr.Filters.Add "Fichiers CSV", "*.csv", 1
DialOuvr.AllowMultiSelect = False
DialOuvr.Title = "Ouverture du fichier CSV"
DialOuvr.InitialView = msoFileDialogViewList
DialOuvr.InitialFileName = "C:\Mes Fichiers CSV\"
Rep = DialOuvr.Show
    If Rep = 0 Then
        MsgBox "Opération annulée"
        Exit Sub
    End If
Chemin = DialOuvr.SelectedItems(1)

avec la variable Chemin qui récupère l'adresse du fichier choisi

pour le point 3, il faut que tu enregistres une macro où tu ouvres ton fichier csv, puis tu le fermes et tu executes la macro. Si le résultat te convient, pas besoin de l'assistant de conversion.
 
Re : .csv vers .xls

Bien, tu lances l'enregistreur dans un classeur vide,
tu ouvres un fichier CSV (du type que ta macro devra ouvrir) (Menu fichier - Ouvrir, Type de Fichier : CSV...)
tu arrêtes l'enregistreur
Tu fermes le fichier CSV Ouvert
tu executes la macro enregistrée et tu regardes si le format du fichier CSV ouvert te convient
 
Re : .csv vers .xls

Bonjour,

Par expérience, l'enregistreur de macro n'est pas toujours tres fiable avec les CSV.
Sous Excel 2002 j'ai transformé le code de tototiti de cette façon.
A tester en XL2003.

Sub Test()
Dim DialOuvr As FileDialog, Rep, Chemin As String
Set DialOuvr = Application.FileDialog(msoFileDialogOpen)
DialOuvr.Filters.Clear
DialOuvr.Filters.Add "Fichiers CSV", "*.csv", 1
DialOuvr.AllowMultiSelect = False
DialOuvr.Title = "Ouverture du fichier CSV"
DialOuvr.InitialView = msoFileDialogViewList
'DialOuvr.InitialFileName = "C:\Mes Fichiers CSV\"
Rep = DialOuvr.Show
If Rep = 0 Then
MsgBox "Opération annulée"
Exit Sub
End If
Chemin = DialOuvr.SelectedItems(1)
Workbooks.OpenText Filename:=Chemin, DataType:=xlDelimited, Semicolon:=True, local:=True
ActiveSheet.Rows("3:30").Delete Shift:=xlUp
ActiveSheet.Columns("I:M").Clear
End Sub

Si je ne mets pas local:=True, ca ne distribue pas les données.
Voir fichier joint
 

Pièces jointes

Re : .csv vers .xls

La, j'ai droit a 2 techniques :

1)
fichier -> Ouvrir -> selection du dossier -> ensuite je choisi la ligne "tous les fichiers" -> ouvrir
Par contre ca m'ouvre mes données sur une colonne se qui n'est pas très exploitable (a moins de l'arranger avec une macro, je ne sais pas)

2)
Données -> Données Externe -> Import des Données -> sélection du dossier -> selection du fichier .CSV -> et Excel m'ouvre des 3 fenêtres (3 étapes) pour arranger mon fichier .CSV -> etape1 : je coche "délimité" -> etape2 : je coche séparateur "," -> je coche terminer -> dernière fenêtre : je choisi l'emplacement de ma première donnée en cliquant sur une cellule de la feuille.

Peut-on créer une macro pour arranger mon fichier en tableau??

mici 😱
 
Re : .csv vers .xls

bonjour Catrice,

ta macro est sympa par contre il m'ouvre mon fichier sur une seule colonne (pas tres pratique), par contre j'ai vu sur le forum les différents séparateurs pour les fichiers .csv, le mien de séparateur ",".
si ca peut aider??

merci
 
Re : .csv vers .xls

Re,

Oui, essaye en remplçant : Semicolon:=True par Comma:=True

Et mets : local:=False

soit :

Workbooks.OpenText Filename:=Chemin, DataType:=xlDelimited, comma:=True, local:=False

en XL2002, ca fonctionne avec ces parametres
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
19
Affichages
761
Réponses
3
Affichages
289
D
  • Question Question
2
Réponses
28
Affichages
2 K
Deleted member 441486
D
Réponses
0
Affichages
188
Retour