Enregistrer

MOIJPCH Messages postés 20 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 26 février 2010 - 23 janv. 2008 à 09:51
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 24 janv. 2008 à 10:55
Bonjour à tous,

Je voudrais enregistrer un document qui ma été envoyé dans un dossier spécifique avec le nom d'une cellule contenu dans ce classeur.
Le dossier mère comprend plusieurs sous dossier.
La cellule qui me donne le nom du classeur à enregistrer m'indique aussi le sous dossier avec le troisième caractère.
Sur la feuille de calcul je sais extraire le troisième caractère mais pas dans vba, et je ne voudrais pas surcharger <?xml:namespace prefix st1 ns "urn:schemas-microsoft-com:office:smarttags" /??><st1:personname w:st="on" productid="la feuille?J'ai">la feuille
J'ai</st1:personname> trouvé pour enregistrer avec le nom de la cellule mais pas pour définir exactement le dossier mère et le sous dossier



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Le dossier mère                       Y:\Réception


Les sous dossier                      Y:\Réception\a1



                                               Y:\Réception\a2



                                               Y:\Réception\.......



 





<st1:personname w:st="on" productid="La cellule CE">La cellule                                 CE</st1:personname>101123                  à enregistré dans a1



                                               CE201456                  à enregistré dans a2



 




Merci de me donner un coup de main



 




Quand j’aurais fini je mettrais a disposition le classeur « Bon de Réception »





JPCH

3 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
23 janv. 2008 à 23:34
Avec ce que tu donnes comme info et si la cellule est A1, ça devrait donner quelque chose comme ceci

    Dim Dossier As String
   
    Dossier = "Y:\Réception\a" & Mid(Range("A1"), 3, 1) & ""
    MsgBox Dossier

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
MOIJPCH Messages postés 20 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 26 février 2010
24 janv. 2008 à 09:04
Bonjour,

Merci pour ta réponse, mais ce que je recherche n’est pas tout a fait ça.



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Je voudrais que le classeur s’enregistre dans le sous dossier désigné par le troisième caractère de <?xml:namespace prefix st1 ns "urn:schemas-microsoft-com:office:smarttags" /??><st1:personname w:st="on" productid="la cellule A">la cellule A</st1:personname>1, sachant qu’il y a 8 sous dossier et que les classeurs me sont envoyés de 8 sites différent.



 




‘Si le troisième caractère et égal à « 1 » j’enregistre dans « Y:\Réception\A1 »


‘Si le troisième caractère et égal à « 2 » j’enregistre dans « Y:\Réception\A2 »



 




La MsgBox est bien vu





JPCH
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
24 janv. 2008 à 10:55
C'est bien ce que je t'ai donné, à moins que ce ne soit le SaveAs que tu ne connais pas (?)

Disons que tu as CE201456 en A1
Mid(Range("A1"), 3, 1) retournera 2

Donc,
Dossier = "Y:\Réception\A" & Mid(Range("A1"), 3, 1) & ""
deviendra
Dossier = "Y:\Réception\A2"

Le dernier "backslash" est facultatif ici, mais nécessaire lors de la sauvegarde. Si j'ai bien compris A2 est le nom d'un sous-répertoire et non pas le nom du fichier... c'est ça ?

ActiveWorkbook.SaveAs Dossier & ActiveWorkbook.Name & ".xls"
La partie en bleu est facultative selon les versions, je pense...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous