VBA excel pb pour récupérer le chemin d'enregistrement et le réinject

VBA excel pb pour récupérer le chemin d'enregistrement et le réinject - VB/VBA/VBS - Programmation

Marsh Posté le 03-08-2005 à 16:58:23    

Voici mon pb
 
J'ai un fichier nommé "A" qui est enregistré dans "C:/truc/muche/bidulle/A.xls"
je veux sélectionner la feuille 1 du fichier A, la copier, créer un nouveau fichier que je nomme "B" et enregistrer ce fichier dans "C:/truc/muche/bidulle/toto/B.xls"
 
PB: le chemin est rentré par l'utilisateur dans une cellule ( case "A1" ) il est définit comme un string
 
Dim chemin As String
' chemin entré par utilisateur
chemin = Range("A1" ).Value
 
Sheets(1).Select
    ActiveWindow.SmallScroll Down:=-70
    Cells.Select
    Range("B1" ).Activate
    'on copie
    Selection.Copy
    'nouveau fichier et on colle
    Workbooks.Add
    ActiveSheet.Paste
    Application.CutCopyMode = False
   
    ChDir chemin
    ActiveWorkbook.SaveAs FileName:= "B.xls", FileFormat _
        :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
        False, CreateBackup:=False
     ActiveWorkbook.Close
 
 
Si quelqu'un peu m'aider j'apprécierais beaucoup
merci d'avance

Reply

Marsh Posté le 03-08-2005 à 16:58:23   

Reply

Marsh Posté le 03-08-2005 à 17:45:55    

Salut Atlas,
 

Citation :


    ChDir chemin
    ActiveWorkbook.SaveAs FileName:= "B.xls", FileFormat _
        :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
        False, CreateBackup:=False
     ActiveWorkbook.Close


pour moi si tout le reste de ta macro marche bien, tout ce qu'il te manque c'est de mettre ce chemin dans le filename :
 

Code :
  1. Dim F
  2. F = chemin &"B.xls"
  3. ActiveWorkbook.SaveA FileName:= F  .....


 
Mais je te dirais de faire attention car c'est une méthode qui est très suceptible. Si ton utilisateur se trompe en écrivant le chemin dans la case A1 tu vas avoir des erreurs ou encore tu ne sauras plus ou chercher vraiement tes fichiers. Tu peux utiliser en alternative la fonction ci dessous, elle marche avec bien excel 2002(celui que j'ai pour les autres je sais pas). Tu trouveras facilement des infos sur le forum, google et l'aide visual basic.

Code :
  1. 'Choisir le dossier et mémoriser le path
  2.     Dim Dossier As Filedialog
  3.     Dim Chemin As String
  4.     Set Dossier = Application.FileDialog(msoFileDialogFolderPicker)
  5.     Dossier.Show
  6.     Chemin = Dossier.SelectedItems(1)


 
 :hello:  

Reply

Sujets relatifs:

Leave a Replay

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