Sauvegarde avec un chemin variable selon une cellule

[Résolu/Fermé]
Signaler
Messages postés
30
Date d'inscription
lundi 8 décembre 2014
Statut
Membre
Dernière intervention
17 avril 2018
-
Messages postés
30
Date d'inscription
lundi 8 décembre 2014
Statut
Membre
Dernière intervention
17 avril 2018
-
Bonjour,

J'ai un petit problème au niveau d'une sauvegarde que j'aimerai bien effectuer sur excel. J'aimerai bien que le fichier prenne le nom de la cellule A1 et qu'il se place dans un fichier ayant comme nom les 3 premiers caractères du contenu de la cellule A1.
Exemple: A1= "J07689"
Nom du fichier: J07689.xls
Sauvegardé dans le fichier: J07
Le fichier se renomme bien mais je n'arrive pas à intégrer une variable dans l'adresse du chemin d'accès pour qu'il puisse aller dans le bon dossier.
J'ai cette arborescence là :
  • Disque C
    • Documents
      • J07
      • L39
      • C21


Mon code pour l'instant:

Sub Sauvegarde ()

Dim fichier_correspondant As Variant

fichier_correspondant = Left (Range("A1"),3)

ActiveWorkbook.SaveAs Filename:= "C:\Documents\"fichier_correspondant"\" & Range("A1") & ".xls"

End sub


En fin de compte il faudrait rendre le chemin flexible et variable. Pensez-vous que c'est possible?

Je remercie d'avance celui ou celle qui arriverait à m'aider à trouver la solution.

Morgan

2 réponses

Messages postés
1412
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
9 mars 2021
154
Bonjour Morgan, bonjour le forum,

Dans ton explication, il semblerait que tu te sois mélangé les pinceaux entre Fichier et Dossier. Ça la rend difficile à comprendre...
Ton code a juste quelques petites erreurs, tu a laissé la variable dans les guillemets et il manque des &. Je verrais plutôt :

Sub Sauvegarde ()
Dim DC As string '(DC = Dossier Correspondant)
DC = "C:\Documents\" & Left(Range("A1").Value, 3) & "\"
ActiveWorkbook.SaveAs Filename:= DC & Range("A1").Value & ".xls"
End sub

Messages postés
30
Date d'inscription
lundi 8 décembre 2014
Statut
Membre
Dernière intervention
17 avril 2018
1
Oui, c'est vrai que j'ai bafouillé avec "dossier" et "fichier", je m'en excuse. Je te remercie, je l'ai essayé et ça marche. Mais par contre c'est une variable de type "Variant" qu'il me faut normalement étant donnée que les noms de dossiers sont composés de chiffres et de lettres. Étonnement avec la variable de type "String" ça marche quand même. C'est normal?
Messages postés
1412
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
9 mars 2021
154 >
Messages postés
30
Date d'inscription
lundi 8 décembre 2014
Statut
Membre
Dernière intervention
17 avril 2018

Bonsoir le fil, bonsoir le forum,

Le type String correspond aux deux jeux de caractères (de 0 à 127) et (de 128 à 255) incluant lettres, chiffres et plein d'autre caractères. Donc plus que suffisant pour le chemin d'accès...
Messages postés
30
Date d'inscription
lundi 8 décembre 2014
Statut
Membre
Dernière intervention
17 avril 2018
1
Merci pour l'explication, bon week end.
Messages postés
16006
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
11 octobre 2021
1 541
Bonjour,

Sub Sauvegarde()

    Dim fichier_correspondant As Variant

    fichier_correspondant = Left(Range("A1"), 3)

    ActiveWorkbook.SaveAs Filename:="C:\Documents\" & fichier_correspondant & "\" & Range("A1") & ".xls"

End Sub
Messages postés
30
Date d'inscription
lundi 8 décembre 2014
Statut
Membre
Dernière intervention
17 avril 2018
1
Salut,
Merci beaucoup, cette solution marche aussi, j'étais vraiment pas loin, il manquait seulement ces deux fameux &.
Merci au forum!
Bon Week End