Variable nom de fichier et recuperation repertoire courant

barry white

XLDnaute Junior
Bonjour,

Jai enfin bientôt fini avec ma macro. Mais... Il me reste une étape que je n'arrive pas à réaliser :)

Voilà mon pb.


Voila mon pb.

J'execute une macro sur un fichier xls (norme de nommage du fichier MIS_CHRONO_TATA_TOTO.Xls, MIS_CHRONO ne change jamais, TOTO et TATA change), qui traite divers operations et qui colle le resultat donner dans un nouveau fichier.

Nous voulouns que le nouveau fichier, s enregistre au meme endroit que le xls ouvert et qui aura pour norme nom de fichier MIS_CHRONO_TATA_TOTO_(Feuille!cellule du fichier excel executer) (en occurence MIS_CHRONO_TATA_TOTO.xls). Voici le code que j ai fais, mais je reste avec des interogations :

Dim nomfichier As String
Dim repertoire As String
repertoire = Application.ActiveWorkbook.Path
nomfichier = ActiveWorkbook.Name
Range("M1") = nomfichier
Range("M2") = repertoire (Je n'arrive pas recueprer le repertoire source)

Dim Nom As String
Dim Nom2 As String
DIM Nom3 As String
Dim Extension As String
Extension = ".xls"
Nom = "MIS_CHRONO_"
Nom2 = "???" (Je ne sais pas recuperer la valeur TATA_TOTO)
Nom3 = "???" (J'arriver a faire la manip mais qu'avec un nom de fichier fixe)
ActiveWorkbook.SaveAs Filename:= _
repertoire & Nom & Nom2 & Extension _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

J'ai fais ce code, mais si un autre code arrive a donner le resultat sa m irai aussi. Parce que j'ai pas mal chercher et je ne sais pas quoi faire. Encore merci de votre aide précieuse
 

d.ryba

XLDnaute Junior
Re : Variable nom de fichier et recuperation repertoire courant

Bonjour,

Tu es mon idole ^^. Je ne sais pas si c'est le résultat attendu, mais ça pourrai aider à trouver je pense.



Code:
Sub barry_white()
Dim rep As String, name As String

 rep = ActiveWorkbook.Path & "\"
 name = Left(Mid(ActiveWorkbook.name, 12), Len(Mid(ActiveWorkbook.name, 12)) - 4)

'12 étant le nombre de caractère de "MIS_CHRONO_" + 1 pour avoir la lettre de départ.
' Mid(ActiveWorkbook.name, 12) peut-être mit dans une autre variable string, est être remplacé dans la variable 'name'.

MsgBox rep
MsgBox name

End Sub
 

barry white

XLDnaute Junior
Re : Variable nom de fichier et recuperation repertoire courant

Merci de ton aide Monsieur, je te chanterai peut etre Firt last My everything si ca marche lol

Par contre, la ligne
name = Left(Mid(ActiveWorkbook.name, 12), Len(Mid(ActiveWorkbook.name, 12)) - 4)

Ne passe. Parce que je pense qu'il prend le nouveau fichier (ClasseurX.xls)ouvert, donc mon fichier "MIS_CHRONO_TOTO_TATA.xls" n'est pas actif.
il faudrai que j arrive une ligne pour qu il reprende mon classeur MIS_CHRONO_TOTO_TATA.xls.

Par contre je ne sais pas pourquoi il m'enregistre mon fichier sur mon lecteur D:. Sachant que mon fichier "MIS_CHRONO_TOTO_TATA.xls" ce trouve sur un lecteur reseau.


merci de ton aide.
 

barry white

XLDnaute Junior
Re : Variable nom de fichier et recuperation repertoire courant

réctification pour l'emplacement du fichier,

ils se mets dans le repertoire parent :

ex :

repertoire ou se trouve mon fichier p:\toto

resultat de la macro : p:\nom de fichier,

il se mets pas dans le meme repertoire.
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16