Bonjour a tous,
Voila tout est dans le titre.
J'ouvre a partir d'un modèle .xlt un fichier qui du coup est en lecture seule . Ce qui m'empeche de connaître son chemin via "activeworkbook.path"
Quelqu'un aurai une idée ? Merci d'avance.
Bonjour a tous,
Voila tout est dans le titre.
J'ouvre a partir d'un modèle .xlt un fichier qui du coup est en lecture seule . Ce qui m'empeche de connaître son chemin via "activeworkbook.path"
Quelqu'un aurai une idée ? Merci d'avance.
bonjour,
c'est le modele qui ouvre le fichier ou c'est toi?
si c'est le modele, comment fait-il pour l'ouvrir?
Bonjour,
Si tu ouvres un fichier à partir d'un modèle (ce n'est pas le modèle que tu ouvres), ton fichier, par essence n'a pas de chemin propre vu qu'il n'a jamais été enregistré nulle part !
Si tu fais un ? activeworkbook.path sur un fichier vierge que tu ouvres avec le bouton "feuiile blanche", tu as le même résultat, c'est très logique, tant qu'on ne leur a pas assigné d'adresse de stockage, ils sont SDF !
cordialement,
Didier
La procédure a suivre c'est quoi alors, je dois déjà lui attribué un chemin et un nom ?
La totalité de la procédure depend du fait que le modèle est situé sur une clef USB. Cette dernière change de lettre de lecteur puisqu'elle est utiliser sur divers PC. Donc mon chemin d'enregistrement change de lettre de lecteur a chaque utilisation et par consequent mon chemin n'est quasiment jamais valide.
Est-ce qu'il y a possibilté de recuperer la lettre de lecteur qui correspond a la clef USB ?
bonjour,
regardes ici :
http://excel.developpez.com/faq/?page=Sauvegardes
cordialement,
Didier
J'ai essayé avec le code ci-dessous:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Sub Sauvegarde_Sur_LecteurAmovible() Dim FSO As Object Dim Drv As Object 'Correspond au nom que vous avez préalablement attribué à votre clé. Const Cible As String = "MaCle" Set FSO = CreateObject("Scripting.FileSystemObject") On Error Resume Next For Each Drv In FSO.Drives If Drv.DriveType = 1 Then If Drv.VolumeName = UCase(Cible) And Drv.IsReady Then ThisWorkbook.SaveAs Drv.DriveLetter & ":\Nom classeur.xls" ', xlWorkbook '(pour xl2007) Exit Sub End If End If Next MsgBox "Enregistrement non effectué." & vbCrLf & _ "Le lecteur amovible '" & Cible & "' n'a pas été trouvé." End Sub
Mais le pb c'est qu'il ne verifie pas l'existence des lecteurs.
Il verifie le premier lecteur (A) et donne la valeur "1" a Drv donc "exit sub" et pas d'enregistrement.![]()
C'est impecable j'ai simplement rajouter un :
If Drv.DriveLetter = "A" Then GoTo suite
Partager