Microsoft 365 Conserver la valeur de ma variable pour l'utiliser dans un autre code

chris6999

XLDnaute Impliqué
Bonjour le forum

Je ne parviens pas à trouver comment récupérer en fin de code la valeur d'une variable qui correspond au nom complet d'un fichier complet incluant le chemin

Mon code permet de créer un répertoire en référence à la date du jour
A la fin du code j'ai besoin de pouvoir conserver le nom et le chemin de ce répertoire pour m'en servir par la suite
Après plusieurs recherches je n'ai pas trouvé de solution ...
Je voudrais conserver la variable nommée dossier

Je ne mets pas de fichier en PJ car cela ne me paraît pas pertinent pour ce type de question

Merci par avance à ceux qui peuvent m'aider
Bonne journée

Mon code est le suivant :
Sub creer_dossier_autre()
'crée dans le répertoire Fichiers bilan TO le répertoire au nom de la date
Dim dossier As String, Fnom As String
nom = Format(Now, "dd_mm_yyyy") ' & "_" & Format(Now, "hh") & "h_" & Format(Now, "mm") & "m"
dossier = "C:\Users\...\" & nom & "\"
'<------------ ici la variable que je souhaite stocker
Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject") ' initialisation de la variable
'test si dossier existe sinon création
If fs.FolderExists(dossier) Then
'code si le dossier existe
'le repertoire n'existe pas donc le crée
Else: fs.CreateFolder dossier
'code dans le répertoire
End If
Set fs = Nothing
End Sub
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à @chris6999 :), @danielco ;),

Sinon une autre solution très simple qui permet la sauvegarde même si on referme le classeur.
Le code :
VB:
Sub creer_dossier_autre()
Dim dossier
   '------------------------- ici votre code
  
   ' Sauvegarde du chemin du répertoire sous le nom "cheminRep"
   ' -> mettre visible à False pour masquer le nom à l'utilisateur (ma préférence)
   dossier = "D:\toto\fifi"                      ' Juste pour l'exemple
   ThisWorkbook.Names.Add Name:="cheminRep", RefersTo:=dossier, Visible:=True
   MsgBox "Le chemin du dossier a été sauvegardé.", vbInformation
End Sub

Sub plus_tard()
Dim dossier
   On Error Resume Next: dossier = Application.Evaluate("cheminRep"): On Error GoTo 0
   If IsError(dossier) Then
      MsgBox "Le Chemin n'a pas été sauvegardé !", vbCritical
   Else
      MsgBox "Le chemin sauvegardé est :" & vbLf & dossier, vbInformation
   End If
End Sub
 

Pièces jointes

  • chris6999- Stoker valeur pour plus tard- v1.xlsm
    17.7 KB · Affichages: 2

Discussions similaires

Réponses
2
Affichages
320

Statistiques des forums

Discussions
312 584
Messages
2 089 995
Membres
104 331
dernier inscrit
xdream