Changement du nom lors d'un dezip

KGreg

XLDnaute Nouveau
Bonjour à tous

Voila j'ai un formulaire qui est zippé et qui est sur un site pour toute l'entreprise( Le formulaire est assez lourd donc je ne peux pas le laisser tel qu'il est sur le site : il ya trop de temps d'attente à l'ouverture).
Mais lorsque que l'on ouvre le fichier zippé à partir de l'emplacement actuel puis qu'on ouvre le formulaire, son nom change en un nom temporaire.
Le problème c'est que mon code VBA est basé sur le nom du fichier et dès lors que ce nom change il y apparition de bug.

Est-ce qu'on peut donc vérifier si à la décompression du zip le nom change et donc de le renommer comme il devrait l'être. Ou autrement dit si à l'ouverture du fichier xls le nom n'as pas changé et si oui le renommer en conséquence.

Merci de votre aide

Greg
 

Abel

XLDnaute Accro
Bonjour KGreg,

Tu peux peut être mettre une évenementielle qui vérifiera son nom à l'ouverture du fichier.

Du genre :

Private Sub Workbook_Open()
if activeworkbook.name<>'LeBonNom' then
activeworkbook.saveas 'LeBonNom'
end if
End Sub

Je n'ai pas vérifier la syntaxe. Je livre ça en vrac pour l'idée.
Tu peux forcer aussi le chemin.


En espérant que cela te dépanne.


Abel.
 

KGreg

XLDnaute Nouveau
Abel merci pour ta réponse. Ca a l'air de marcher mais ca me crée un nouveau fichier avec le nom correct. Est-ce qu'on ne peut pas remplacer le nom du fichier ouvert sans en créer un autre.
En mettant thisworkbook au lieu de activeworkbook?

Merci
 

Creepy

XLDnaute Accro
Bonjour all, KGreg,

Je suppose que si ta macro ne fonctionne plus c'est que dans ton code tu fais référence au nom du fichier.

Pourquoi par exemple au lieu de mettre le nom de départ de ton fichier, tu ne mets pas un : activeworkbook ?

Comme ca ton appli marche quelque soit le nom !!

Enfin c'est une idée !

++

Creepy
 
T

Thomas®

Guest
Bonjour le forum,

J'ai une idée mais je debut alors ...

en fait j'ai pensé que le nom que tu utilise (à juste titre) dans ta macro soit remplacé par une variable public

et que cette varible soit valorisé à l'ouverture de ton fichier excel
qui serait

mavariable = activeworkbook.name

comme ca il pointera forcément sur ton fichier peux importe son nom

Voila

Bon courage
Thomas&reg;
 

Abel

XLDnaute Accro
Re,

Dites moi si je me trompe mais il me semble que pour changer le nom d'un fichier, celui-ci doit avoir été enregistré.
C'est pour cela que je te fais enregistrer le fichier, KGreg.

Maintenant, vu qu'il y a un fichier temporaire créé au dézippage cela peut peut être fonctionner en disant activeworkbook.name='NomFichier'.
Mais que se passe t'il à la fermeture ?
Les informations doivent elles être sauvegardées ?
Etc

Donc, pourquoi pas enregistrer directement le fichier.

Sinon, il y a d'autres solutions moins expéditives avec un GetSaveAs par exemple
NomFichier = GetSaveAsFilename. ....
Cela ouvre la boite 'Enregistrer sous'. On choisi un endroit et un nom pour l'enregistrement, ensuite :
activeworkbook.saveas 'NomFichier'


Abel.
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 461
dernier inscrit
dams94