[vba] variable Path dans SaveAs(...)

variable Path dans SaveAs(...) [vba] - VB/VBA/VBS - Programmation

Marsh Posté le 29-05-2007 à 16:36:19    

Bonjour :)
 
 
J'ai un problème en voulant enregistrer un classeur dans le même répertoire qu'un autre.
 
Ex. :
 
Une macro contenue dans le classeur Instructions.xls demande la création d'un nouveau classeur excel.
Instruction.xls souhaite enregistrer ce classeur dans le même répertoire en le nommant comme l'indique la valeur de la cellule (1,1) de la feuille 1 de Instruction (feuille instanciée en tant que Instructions). En supposant que ce classeur non encore enregistré ait été sous le nom de Tem, j'ai écris la ligne suivante :  
 
Tem.SaveAs (Instructions.Path & "\" & Instructions.Cells(1,1).Value & ".xls" )
 
Celà me retourne une erreur. J'ai fait une erreur de syntaxe dans la concaténation ?
 
 
Merci d'avance de votre aide ...  :hello:

Reply

Marsh Posté le 29-05-2007 à 16:36:19   

Reply

Marsh Posté le 29-05-2007 à 17:47:24    

bonjour,
 
as tu essayé de mettre un + à la place du & ?
sinon quel est le message d'erreur ?
 

Reply

Marsh Posté le 29-05-2007 à 19:20:21    

Avec des +, ça donne le même résultat : Erreur 438 'Propriété ou méthode non gérée par cet objet'
 
 
Je ne vois pas d'où ça peut venir :/

Reply

Marsh Posté le 29-05-2007 à 19:27:44    

en utilisant un truc de ce genre ca marche ou pas
 
Set cp2 = CreateObject("Scripting.FileSystemObject" )
cp2.CopyFolder chemin1, chemin2
Name "C:\controle2023\data-excel" As chem

Reply

Marsh Posté le 30-05-2007 à 10:27:39    

Instructions.Worksheets(1).Cells(1,1)

Reply

Marsh Posté le 30-05-2007 à 14:53:45    

Bonjour,
Je ne comprends pas ce que veut dire Instructions.path
InstructionS étant le nom de la feuille !

Reply

Marsh Posté le 30-05-2007 à 17:09:03    

ingenieurcesi a écrit :

en utilisant un truc de ce genre ca marche ou pas
 
Set cp2 = CreateObject("Scripting.FileSystemObject" )
cp2.CopyFolder chemin1, chemin2
Name "C:\controle2023\data-excel" As chem


 
Euh, je ne comprends pas bien ce que tu veux faire :??:
 

aprilthe5ith a écrit :

Instructions.Worksheets(1).Cells(1,1)


 
Il faut donc préciser la cellule ? La feuille seule ne suffit pas ?
 

Paul Hood a écrit :

Bonjour,
Je ne comprends pas ce que veut dire Instructions.path
InstructionS étant le nom de la feuille !


Instructions.Path devrait retourner le chemin (dans le séparateur \ final) où est enregistré Instruction.xls, nan ?

Reply

Marsh Posté le 30-05-2007 à 17:37:07    

Et avec  
MonPath = Workbooks("Instructions.xls" ).Path
Tem.SaveAs (MonPath & "\" & Instructions.Cells(1,1).Value & ".xls" )
 
Pour simplifier, je te suggère de différencier le nom de ton fichier, du nom de ta feuille. D'ailleurs dans ton 1er post, le nom de ton fichier excel c'est Instructions.xls et la ligne d'en dessous il devient Instruction.xls.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed