Enregistrer un classeur avec une autre extension

D

Delirium

Guest
Bonsoir tous le monde
Je suis en train de réaliser une application sous excel.
Cette appli comporte d’autres classeurs mais je voudrais que ces classeurs soient appropriés uniquement à mon application.

Pour cela je voudrais les enregistrer avec une extension spécifique à mon appli ".ecx"

Pour cela j'ai créé un userform avec un text box et le code suivant :


Private Sub Enregistrer_Click()
Range("I2").Value = TextBox1.Value
ChDir ThisWorkbook.Path & "\Plannings types"
ActiveWorkbook.SaveAs Range("I2").Value
ActiveWorkbook.CustomViews("Janvier").Show
Range("B1:G1").FormulaR1C1 = "Janvier"
ActiveSheet.Shapes("Picture 138").OnAction = "Enregistrer"
ActiveSheet.Shapes("Picture 152").OnAction = "FermerB"
ActiveWorkbook.Save
Unload Me
End Sub


Ce code permet d'enregistrer le classeur avec le nom qu'il veut mais l'extension est obligatoirement en ".xls".

Je voudrais que se nom soit automatiquement en registré avec l'extension ".ecx"

Si quelqu’un connait la solution,
Merci d'avance et à bientôt
 
S

sousou

Guest
Bonjour.

L'extension d'un fichier définit, l'application qui pourra l'ouvrir, mais aussi et surtout la forme du fichier.
Un fichier txt n'est pas fait comme un fichier excel même si les données qu'ils contiennent sont indentiques.

Il sagit d'une part de définir quel type de fichier ton application utilise.

Dans excel tu dispose à l'enregisrtement d'un nombre limité de type de fichier que tu peux utiliser 'voir saveas fileformat'

Seulement après tu pourra peut-être si un des format est compatible avec ton appli modifier l'extension de ton fichier en le renommant sans l'ouvrir

Bonne chance
 
D

delirum

Guest
Salut sousou

Je comprend ce que tu veux dire, mais dans mon application il y a des bouton et tout un tas d'userform qui ouvre des classeur excel dont j'ai modifié l'extension par ".ecx", et sa ne pose pas de problème pour les ouvrir.


Cette extension est totalement de ma création afin que mes fichier soit de la proprité de mon application.

Ceci à pour utilité que les utilisateurs ne pourront pas ouvrir mes classeur sans passer par mon application.

Le seul problème est que certains classeurs doivent être enregistré avec le nom que définit l'utilisateur dans un userform mais excel l'enregistre avec l'extension ".xls" or je voudrais mettre ".ecx".

Merci
 
S

sousou

Guest
Bonjour.

Ok, il sagit dons d'un format interpretable directement par excel (txt,csv tab ou autres)

Voici ci- dessous une manière de changer le nom d'un fichier et ou de son extension.
Le fichier ayant été préalablement enregistré et fermé au format excel par exemple
Cette solution utilise le VBS pour accèder au système de gestion de fichiers de windows.

Sub enr()
Set objetvbs = CreateObject("Scripting.FileSystemObject")
Set monfichier = objetvbs.GetFile("c:/windows/bureau/lexemple.xls")
monfichier.Name = "exemple.ecr"
End Sub
 
P

Patrick C

Guest
bonsoir tout le monde,

j'apporte ma pierre à l'édifice.
j'arrive à sauver dans un autre format en procédant de la sorte

----------------------

nom_complet = Chemin & "\" & nom_du_fichier & ".ecx"

ActiveWorkbook.SaveAs FileName:=nom_complet _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

--------------------

Chemin et nom_du_fichier restant à spécifier
 
G

galopin01

Guest
Bonsoir,
Je confirme...
Par contre le fait de les nommer en .ecx n'empêche pas les utilisateurs d'utiliser ces fichiers qui sont juste invisible dans la boite de dialogue car elle est pré formatée sur *.xls
il suffit de choisir *.ecx pour les voir tous et ouvrir n'importe lequel même hors appli.
Cela ne dispense donc pas des précautions d'usage, mais c'est quand même un formidable moyen de hiérarchisation des fichiers pour ceux qui travaillent sur de nombreux fichiers.
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 180
dernier inscrit
Vcr