Changer extension .txt en xls

Résolu/Fermé
Aussie44 Messages postés 3 Date d'inscription vendredi 14 juin 2013 Statut Membre Dernière intervention 15 juin 2013 - 14 juin 2013 à 14:59
isrforlife Messages postés 129 Date d'inscription jeudi 6 juin 2013 Statut Membre Dernière intervention 19 juillet 2013 - 20 juin 2013 à 10:22
Bonjour,

J'aurais besoin de changer l'extension de 3000 fichiers en .txt en .xls...vu la tâche j'aimerais utiliser une macro ;o))

J'en ai trouvé une sur le forum qui fonctionne bien mais qui ne boucle pas. Il est donc nécessaire à chaque fois d'aller ouvrir le fichier à convertir. Est-il possible de mettre en place une boucle sachant que tous mes fichiers d'entrée et de sortie se trouveront dans le même répertoire.

Voici la macro que j'ai trouvé (merci Bidouilleu_R) :

Sub Convertit_en_xls()
Dim Chemin As String
Dim Fichier As String
Dim LeNom As String

Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt")
Workbooks.OpenText (Fichier)

While Right(Fichier, 1) <> "\"
LeNom = Right(Fichier, 1) & LeNom
Fichier = Left(Fichier, Len(Fichier) - 1)
Wend
CheminSource = Left(Fichier, Len(Fichier) - 1)


While Right(CheminSource, 1) <> "\"
CheminSource = Left(CheminSource, Len(CheminSource) - 1)
Wend
Chemin = CheminSource & "Données Excel\"

LeNom = Left(LeNom, Len(LeNom) - 3) & "xls" ' le nom avec xls

ActiveWorkbook.SaveAs Chemin & LeNom
ActiveWorkbook.Close

End Sub

Un grand grand merci par avance pour votre aide.
A voir également:

4 réponses

sk8dada Messages postés 46 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 19 juin 2013 7
14 juin 2013 à 15:02
Veux tu vraiment le faire via VB? Car si c'est juste pour changer l'extension de tes 3000 fichiers texte j'ai un logiciel gratuit qui te fait ça
1
Aussie44 Messages postés 3 Date d'inscription vendredi 14 juin 2013 Statut Membre Dernière intervention 15 juin 2013
15 juin 2013 à 13:17
Merci sk8dada de ta réponse.
Dans l'absolu je préférerais en vba mais sait-on jamais...Ton logiciel est entièrement gratuit ? Il pourrait me modifier l'extension pour l'intégralité des fichiers sans avoir à aller les chercher 1 par 1.
bon après-midi.
0
Le problème résolu. Merci !
0
isrforlife Messages postés 129 Date d'inscription jeudi 6 juin 2013 Statut Membre Dernière intervention 19 juillet 2013 10
20 juin 2013 à 10:22
Salut et bien joué pour avoir résolu ton problème ! Peux-tu nous faire partager ta solution ? Cela pourra aider qqu un jours si il a le même problème que toi !
0
isrforlife Messages postés 129 Date d'inscription jeudi 6 juin 2013 Statut Membre Dernière intervention 19 juillet 2013 10
14 juin 2013 à 15:06
Sub Bouclemoiça()
dim i = 0
While (i != 3000)
Convertit_en_xls()
Wend

En adaptant un truc comme ça, cela ne pas fonctionner ?
0
isrforlife Messages postés 129 Date d'inscription jeudi 6 juin 2013 Statut Membre Dernière intervention 19 juillet 2013 10
14 juin 2013 à 15:07
j'ai oublier l'incrémentation de i ! sinon ça boucle infinie :)
"i += 1"
0
Aussie44 Messages postés 3 Date d'inscription vendredi 14 juin 2013 Statut Membre Dernière intervention 15 juin 2013
15 juin 2013 à 13:13
Merci isrforlife de ta réponse.
Etant complètement novice en vba, j'aurais 2 petites questions :
1) l'incrementation, c'est i+1 non ? Je place l'incrementation avant "Wend" ?
2) la boucle je la place où par rapport au programme que j'ai ? A l'intérieur -si oui où exactement-, avant le programme ou après le programme.
Bon après-midi
0