Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Il y a 82 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

vba excel

 
n°17998
lysasha
Profil : Jeune recrue
Posté le 07-12-2006 à 20:54:57  profilanswer
 

svp  comment faire pour enregistrer un classeur excel en lui donnant un nom avec une macro sous VBA excel


---------------
lysasha
n°17999
kiki29
Profil : Membre
Posté le 08-12-2006 à 07:27:32  profilanswer
 

Il faudrait utiliser le macro recorder, cela te donnerait une idée du code généré, qui peut être optimisé à la main par la suite.Par exemple :
 
Menu Outils | Macros | Nouvelle Macro par exemple Macro1
puis tu crées un classeur , tu l'enregistres sous un nom xyz.xls
puis Outils | Macros | Arrêter l'enregistrement
 
Ceci aboutit à qqch comme
 


Sub Macro1()
 
    ChDir "C:\Transfert"
    ActiveWorkbook.SaveAs Filename:="C:\Transfert\Classeur1234.xls", FileFormat _
        :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
        False, CreateBackup:=False
End Sub


 
qui "optimisé" à la main peut devenir qqch comme
 


Sub Sauver()
    Application.DisplayAlerts=False
    ActiveWorkbook.SaveAs Filename:="C:\Transfert\Classeur1234.xls"
    Application.DisplayAlerts = True
End Sub


 
ou encore ,avec une gestion d'erreur sommaire, ici si le dossier n'existe pas
 


Option Explicit
 
Sub Tst()
    SauverFichier "C:\Transfert\Essai\Classeur_001.xls"
End Sub
 
Private Function SauverFichier(ByVal NomDuFichier As String)
Dim Dossier As String
On Error GoTo erreur
    Application.DisplayAlerts = False
    Dossier = Left(NomDuFichier, InStrRev(NomDuFichier, "\" ))
    ChDir Dossier
    ActiveWorkbook.SaveAs Filename:=NomDuFichier
    Application.DisplayAlerts = True
    Exit Function
erreur:
    If Err.Number = 76 Then
        MkDir Dossier
        Resume Next
    End If
End Function


Message édité par kiki29 le 08-12-2006 à 09:09:10
n°18350
gouki4
etudiant
Profil : Jeune recrue
Posté le 27-02-2007 à 11:13:31  profilanswer
 

bonjour a tous.  
voila j'ai un souci par rapport a la fonction range, je souhaite recupérer deux plage de valeur mais qui ne sont pas coller.  
voila je voudrai transformé Range("A1:A10,G1:G10" ) en Cells afin de pouvoir automatiser tout ca.  
 
merci


Aller à :
Ajouter une réponse