Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • 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 Catrice, lynk Zel,

J'ai repris le code qui m'intéresse dans le dernier post et ai 3 questions pour un problème de conversion CSV vers XLS:

Question1- : le Code " DialOuvr As File Dialog "
repris dans la macro vb ne fonctionne t'il qu'avec EXCEL 2003 ? cela fonctionne.
Quid avec XL2000 (sur un autre PC) , pour obtenir le même résultat. Il m'affiche le bug " type défini par l'utilisateur non défini"

Besoin de 2 solutions pour l'enregistrement :​

Q 2-: comment enregistrer le fichier au format XLS dans le répertoire actif avec le même nom de fichier , mais avec l'extension XLS

Q 3-: comment enregistrer le fichier au format XLS dans un répertoire nommé" visualise" avec le même nom et l'extension XLS

Merci à vous tous,

CAPRI_456
 

Pièces jointes

Re : .csv vers .xls

Bonjour CAPRI 456,

Désolé, je ne peux pas ouvrir les zip, alors je n'ai pas vu ton fichier

1 - Les FileDialog n'existent qu'à partir d'Excel 2002(XP) de mémoire. Mais il existe d'autres méthodes pour faire apparaître une boite de dialogue d'ouverture. (GetOpenFileName par exemple)

2 et 3 - Oui, c'est tout à fait faisable mais là j'ai besoin d'un bout de ton code et comme je ne paux pas ouvrir les zip... Comment ouvres-tu to CSV ? Quelle méthode as-tu retenu ?
 
Re : .csv vers .xls

Bonjour, Tototiti, le Forum,

voilà mon fichier non zippé, et le fichier qui contient les datas (ici xls)(normalement ces datas sont en CSV mais pour le post j'ai dû les mettre en XLS ) et donc je dois aboutir de CSV à un XLS)

-- tous les deux dans le même rép.

je reviens plus tard, suis au boulot.. merci

CAPRI_456
 

Pièces jointes

Re : .csv vers .xls

Bonjour à tous,

un essai :

Pour répondre au point (1), j'ai remplacé FileDialog par GetOpenFileName :

Code:
Sub Test()
Dim Rep, Chemin As String
Rep = Application.GetOpenFilename(filefilter:="Fichiers CSV (*.csv), *.csv", Title:="Choisir le fichier CSV")
    If Rep = False Then
        MsgBox "Opération annulée"
        Exit Sub
    End If
'-----------------------
'pour affichage dans un fichier XLS
Workbooks.OpenText Filename:=Rep, DataType:=xlDelimited, comma:=True, local:=False
ActiveWorkbook.SaveAs Filename:=Left(Rep, Len(Rep) - 4) & ".xls", FileFormat:=xlWorkbookNormal
'-----------------------
'pour affichage dans la même feuille que le bouton de commande
''With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Chemin, Destination:=Range("A1"))
''    .Name = "test"
''    .AdjustColumnWidth = False
''    .TextFileParseType = xlDelimited
''    .TextFileCommaDelimiter = True
''    .Refresh BackgroundQuery:=False
''End With
'------------------------
'Pour éliminer certaines colonnes ou lignes à ne pas visualiser
''ActiveSheet.Rows("3:30").Delete Shift:=xlUp
'' ActiveSheet.Columns("I:M").Clear
End Sub

Le code tel quel enregistre au même endroit que le csv et en .xls (2)

pour enregistrer dans un dossier "visualise", la dernière ligne active devrait être à remplacer par :

Code:
ActiveWorkbook.SaveAs Filename:="C:\visualise\" & Left(Right(Rep, Len(Rep) - InStrRev(Rep, "\")), Len(Right(Rep, Len(Rep) - InStrRev(Rep, "\"))) - 4) & ".xls", FileFormat:=xlWorkbookNormal
 
Re : .csv vers .xls

Bonsoir à tous,

J'ai testé et adapté sous Excel 2000.
local:=False n'est pas un parametre géré sous Excel 2000 (sous ma version SR1 en tous les cas).
De plus, il y a un petit bug. Voir cette fiche : DIFFERENCE DE COMPORTEMENT D'OPENTEXT EN VBA SOUS XL2K SR1
Il faut transformer le fichier en txt ...

Donc ci-joint une version adaptée du code de tototiti qui fonctionne sous Excel 2000.
Elle recupere le fichier CSV l'enregistre en XLS dans le meme dossier et egalement dans le dossier "visualise" que j'ai mis à la racine, mais tu peux le mettre où tu veux.
 

Pièces jointes

Re : .csv vers .xls

Re- bonjour,

je viens d'examiner.. pour la procédure proposée par Catrice c'est OK pour l'exécution de l'action.... et le fichier prend l'extension XLS dans les deux cas.

Par contre , à l'ouverture de ces XLS, le texte n'est pas délimité dans chacune des colonne comme c'était le cas dans le procédé de Tototiti2008

Dois-je fair une combinaison des deux codes


CAPRI_456
 
Re : .csv vers .xls

Catrice, Le Forum Tototiti2008,
suite, pour plus de précisions:

au fait la procédure automatisée "csv vers xls " devrait prendre sa place dans le " barbatruc " de thierry de 2005
"REQUETE COLLECTEUR ADO sur classeurs fermés.

le fil :
Lien supprimé

Dans le fichier joint, je voudrais introduire cette démarche de conversion CSV vers XLS au point 1 b) .

puis mon but serait de trouver dans un répertoire tous les fichiers CSV,
et chaque fois après conversion en XLs , je vais les placer dans un collecteur

Idéalement, les noms de fichiers CSV visibles dans le listview en 1) et ayant subi une conversion et un tranfert vers le collecteur devraient :
- soit changer de couleur (solution 1)
- soit changer de répertoire (solution 2)
afin d'éviter de réaliser deux fois l'action sur un même fichier.

Question , dois je me replacer sur le fil de Thierry pour poursuivre...

Bien à vous
Merci

CAPRI-456
 

Pièces jointes

Re : .csv vers .xls

Bonjour le Forum, Catrice, Tototiti,

.. pour la procédure proposée par Catrice c'est OK pour l'exécution de l'action.... et le fichier prend l'extension XLS dans les deux cas.

Par contre , à l'ouverture de ces XLS, le texte n'est pas délimité dans chacune des colonne comme c'était le cas dans le procédé de Tototiti2008

Dois-je fair une combinaison des deux codes


Merci pour l'éclaircissement

capri_456
 
Re : .csv vers .xls

Bonjour Capri,

Je n'ai pas Excel 2003, mais le code que j'ai proposé dans le dernier Zip que j'ai posté fontionne sur Excel 2002 (XP) et Excel 2000 SR1 ...
Le fichier XLS est correctement généré et s'ouvre correctement ventilé dans les colonnes.
N'ayant pas les 3 versions d'Excel, je ne peux pas tester une solution commune.
Mais avec "Application.Version", tu peux eventuellement diriger la macro sur des bouts de codes différents en fonction de la version où la macro est executée...

Dans quelles versions as tu testé ?
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…