Sélectionner plusieurs fichiers et changer leur extension
Résolu/Fermé
muiigisha
Messages postés
61
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
6 décembre 2017
-
16 oct. 2017 à 14:42
muiigisha Messages postés 61 Date d'inscription lundi 25 septembre 2017 Statut Membre Dernière intervention 6 décembre 2017 - 18 oct. 2017 à 09:51
muiigisha Messages postés 61 Date d'inscription lundi 25 septembre 2017 Statut Membre Dernière intervention 6 décembre 2017 - 18 oct. 2017 à 09:51
A voir également:
- Changer l'extension de plusieurs fichiers en même temps
- Changer dns - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Changer extension fichier - Guide
- Blocage agriculteur carte en temps réel - Accueil - Transports & Cartes
- Changer clavier qwerty en azerty - Guide
4 réponses
thev
Messages postés
1961
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
16 février 2025
706
Modifié le 16 oct. 2017 à 15:32
Modifié le 16 oct. 2017 à 15:32
Bonjour,
En première analyse, je pense qu'il manque le nom complet du fichier, c'est à dire :
En première analyse, je pense qu'il manque le nom complet du fichier, c'est à dire :
Wbk.SaveAs Thisworkbook.Path & "\" & Fichier, FileFormat:=xlExcel12, CreateBackup:=False
thev
Messages postés
1961
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
16 février 2025
706
Modifié le 16 oct. 2017 à 16:28
Modifié le 16 oct. 2017 à 16:28
essayer ce code
Sub Sauvegarde()
Dim QuelsFichiers(), fichier As Variant, ext_fichier As String, wbk As Workbook
QuelsFichiers = Application.GetOpenFilename(, , , , True)
For Each fichier In QuelsFichiers
ext_fichier = Right(fichier, Len(fichier) - InStrRev(fichier, "."))
If ext_fichier = "csv" Then
Set wbk = Workbooks.Open(fichier)
fichier = Replace(fichier, "csv", "xlsb")
wbk.SaveAs fichier, FileFormat:=xlExcel12, CreateBackup:=False
wbk.Close
End If
Next fichier
End Sub
muiigisha
Messages postés
61
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
6 décembre 2017
17 oct. 2017 à 08:26
17 oct. 2017 à 08:26
Bonjour Thev,
quand je compile le code ça met erreur 1004:run time:(
j'ai une question aussi est ce qu'on est contraint d'ouvrir les fichiers avant de changer les extensions ?
c'est le seul moyen que j'ai trouvé mais vous pouvez me proposer d'autres solutions. le changement des extensions n'est qu'une étape dans mon travail si ça met trop de temps en plus des autres procédures il y en qui vont râler.
Merci d'avance pour votre aide
quand je compile le code ça met erreur 1004:run time:(
j'ai une question aussi est ce qu'on est contraint d'ouvrir les fichiers avant de changer les extensions ?
c'est le seul moyen que j'ai trouvé mais vous pouvez me proposer d'autres solutions. le changement des extensions n'est qu'une étape dans mon travail si ça met trop de temps en plus des autres procédures il y en qui vont râler.
Merci d'avance pour votre aide
thev
Messages postés
1961
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
16 février 2025
706
17 oct. 2017 à 09:20
17 oct. 2017 à 09:20
Une extension correspond à un format précis de fichier. Changer l'extension signifie changer son format. Une conversion est donc nécessaire et cette conversion est assurée par Excel. Ouverture + enregistrement est donc nécessaire pour que la conversion du format soit exécutée.
Je n'ai pas sur ma version d'Excel 2013 d'erreur d'exécution. Au niveau de quelle instruction avez-vous cette erreur ? Quelle version d'Excel utilisez-vous ?
Je n'ai pas sur ma version d'Excel 2013 d'erreur d'exécution. Au niveau de quelle instruction avez-vous cette erreur ? Quelle version d'Excel utilisez-vous ?
muiigisha
Messages postés
61
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
6 décembre 2017
17 oct. 2017 à 10:10
17 oct. 2017 à 10:10
Ah d'accord je comprends tout à fait.
Déja j'ai changé "xlsb" en "xlsx" (car je veux en fait des feuilles de calculs tout simplement à moins que ça ne soit pareil...je ne sais vraiment pas)
J'utilise au Excel 2016 et l'erreur c'est au niveau de
et le message dit:
this extension can not be used with the selected file type. change the file extension in the file name text box or select a different file type by changing the save as type
Déja j'ai changé "xlsb" en "xlsx" (car je veux en fait des feuilles de calculs tout simplement à moins que ça ne soit pareil...je ne sais vraiment pas)
J'utilise au Excel 2016 et l'erreur c'est au niveau de
wbk.SaveAs fichier, FileFormat:=xlExcel12, CreateBackup:=False
et le message dit:
this extension can not be used with the selected file type. change the file extension in the file name text box or select a different file type by changing the save as type
thev
Messages postés
1961
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
16 février 2025
706
>
muiigisha
Messages postés
61
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
6 décembre 2017
Modifié le 17 oct. 2017 à 10:51
Modifié le 17 oct. 2017 à 10:51
FileFormat:=xlExcel12 signifie extension xslb, ça me parait donc logique qu'un conflit se produise.
2 solutions :
ou
2 solutions :
Set wbk = Workbooks.Open(fichier)
wbk.SaveAs Fichier, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ou
Set wbk = Workbooks.Open(fichier)
Fichier = Replace(Fichier, "csv", "xlsx")
wbk.SaveAs Fichier, CreateBackup:=False
muiigisha
Messages postés
61
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
6 décembre 2017
>
thev
Messages postés
1961
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
16 février 2025
17 oct. 2017 à 14:36
17 oct. 2017 à 14:36
Merci Thev,
une dernière question et mon problème sera résolu .svp
si je voudrais en changeant l'extension garder un seul fichier et pas l'ancien comment je fais? c'est pour éviter de perdre certains vu qu'ils gardent le même nom
Merci
une dernière question et mon problème sera résolu .svp
si je voudrais en changeant l'extension garder un seul fichier et pas l'ancien comment je fais? c'est pour éviter de perdre certains vu qu'ils gardent le même nom
Merci
thev
Messages postés
1961
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
16 février 2025
706
>
muiigisha
Messages postés
61
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
6 décembre 2017
Modifié le 17 oct. 2017 à 20:30
Modifié le 17 oct. 2017 à 20:30
Le mieux est alors de supprimer l'ancien.
If wbk.Name <> ThisWorkbook.Name Then
wbk.SaveAs Fichier, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
wbk.Close
Kill Fichier
End If
muiigisha
Messages postés
61
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
6 décembre 2017
18 oct. 2017 à 09:51
18 oct. 2017 à 09:51
Ah d'accord, merci beaucoup pour votre aide.
j'avance bien dans mon travail et peut être que je reviendrai d'ici là pour une autre question. Sinon mon problème a été résolu.
Merci
j'avance bien dans mon travail et peut être que je reviendrai d'ici là pour une autre question. Sinon mon problème a été résolu.
Merci
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
17 oct. 2017 à 10:44
17 oct. 2017 à 10:44
Bonjour,
Le plus simple utiliser l'enregistreur de macro, enregistrer en xlsx et vous aurez le code . Il suffira de l'integrer en l'adaptant a votre macro.
Le plus simple utiliser l'enregistreur de macro, enregistrer en xlsx et vous aurez le code . Il suffira de l'integrer en l'adaptant a votre macro.
muiigisha
Messages postés
61
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
6 décembre 2017
17 oct. 2017 à 14:37
17 oct. 2017 à 14:37
ah oui, j'oublie toujours cette possibilité.
merci cs_Le Pivert
merci cs_Le Pivert
16 oct. 2017 à 15:50
mais je ne voudrais faire appel aux chemeins parce que après le travail que je fais sera utilisé par d'autres j'ai juste besoin d'une boîte de dialogue. Et quand je fais l'espion mes variables restent vides:(
comment puis je faire svp?
16 oct. 2017 à 15:52
16 oct. 2017 à 16:03
16 oct. 2017 à 17:08
Merci d'avance
Voilà ce que j'ai fait ci-dessous
Modifié le 16 oct. 2017 à 18:43
Ci-dessous code