Sauvegarde avec un chemin variable selon une cellule

Résolu
Morgan67700 Messages postés 30 Statut Membre -  
Morgan67700 Messages postés 30 Statut Membre -
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
A voir également:

2 réponses

ThauTheme Messages postés 1564 Statut Membre 160
 
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

0
Morgan67700 Messages postés 30 Statut Membre 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?
0
ThauTheme Messages postés 1564 Statut Membre 160 > Morgan67700 Messages postés 30 Statut Membre
 
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...
0
Morgan67700 Messages postés 30 Statut Membre 1
 
Merci pour l'explication, bon week end.
0
f894009 Messages postés 17413 Statut Membre 1 715
 
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
0
Morgan67700 Messages postés 30 Statut Membre 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
0