Enregistrement dans un dossier aléatoire en VBA

Bonjour à tous,

J'ai un document de base, et à chaque utilisation on fait un enregistrer-sous au nom et numéro du client. Pour le moment, j'ai créé une macro qui envoie le doc enregistré dans un dossier fixe. Jusque là, facile...

Appelons le dossier fixe "travaux en cours". A l'intérieur de ce dossier sont créés des sous-dossiers aux noms et numéros des clients, par exemple, 1204 Azraelle. J'aimerais que chaque document créé aille s'enregistrer dans le sous-dossier déjà existant à son nom : C:\Travaux en cours\1204 azraelle\1204 azraelle.xlsm

Merci d'avance

AZ

bonsoir,

montre-nous ta macro d'enregistrement actuelle.

bonjour,bonsoir,

une proposition

Sub enregistrerSous()
Dim nom As String
Dim chemin As String
numeroclient = Sheets("saisie").Range("b1")
nomclient = Sheets("saisie").Range("b2")
chemin = "P:\1 - Commandes à finaliser\"
nom = numeroclient & " " & nomclient & "\" & numeroclient & " " & nomclient & " fiche panneaux.xlsm"

ActiveWorkbook.SaveAs chemin & nom
End Sub

Bonjour,

Désolée pour le délai de réponse...

J'ai essayé le code au-dessus mais il ne fonctionne pas de façon optimale : L'enregistrement se fait toujours sous le bon nom et le bon dossier mais ne rend pas jusqau'au sous-dossier.

Bonne journée

bonjour/bonsoir,

qu'obtiens-tu comme résultat et qu'aurais-tu voulu avoir ? Car selon moi, la macro fait bien ce que tu as demandé.

chemin=P:\1 - Commandes à finaliser\ 'fixe

sous-répertoire = 1204 azraelle\ 'dynamique

fichier = 1204 azraelle.xlsm 'dynamique

pour donner P:\1 - Commandes à finaliser\1204 azraelle\1204 azraelle.xlsm

Bonsoir,

J'obtiens : P:\1-commandes à finaliser\1204 azraelle fiche panneaux.xlsm. Le document ne va pas dans le sous-dossier. Il s'arrête dans le dossier principal.

Bonjour,

Je pense que vous n'avez pas fait un copier/coller du code de de h2so4 que je salue

Perso, je l'aurais fait plutôt comme ça, mais je reprends ce qu'il vous a donné

Sub enregistrerSous()
  Dim nom As String
  Dim chemin As String
  numeroclient = Sheets("saisie").Range("b1")
  nomclient = Sheets("saisie").Range("b2")
  chemin = "P:\1 - Commandes à finaliser\" & numeroclient & " " & nomclient & "\"
  ' Petit ajout au cas ou vous n'auriez pas vu le dernier antislash
  If Right(Chemin,1)<>"\" then Chemin = Chemin & "\"
  '
  nom = numeroclient & " " & nomclient & " fiche panneaux.xlsm"
  ActiveWorkbook.SaveAs chemin & nom
End Sub

A+

Bonsoir,

Effectivement, ça fonctionne bien. Il se peut en effet que j'ai loupé un antislash ou un morceau du code, je me suis un peu emmêlé les pinceaux en faisant le copier-coller... Toutes mes excuses pour cette perte de temps.

Vous remerciant tous 2,

A bientôt

Azraëlle

Rechercher des sujets similaires à "enregistrement dossier aleatoire vba"