Toute petite macro VBA pour enregistrement

Toute petite macro VBA pour enregistrement - VB/VBA/VBS - Programmation

Marsh Posté le 12-10-2011 à 14:24:28    

Bonjour a tous!
 
J'aimerais faire un petit bouton dans un classeur afin de trier automatiquement mes factures dans mes dossiers clients.
 
Ce bouton permettrais de creer un dossier dans un endroit précis portant le nom dans une cellule, et ensuite enregistrer sous en format PDF dans le dossier crée précédament. Le nom du fichier PDF porterais le num d'une deuxieme case du classeur.
 
Je suis totalement débutant en VBA, et j'ai fait une ebauche du code en utilisant des macros et differents tuto sur differents forums, mais j'ai des erreurs, et je n'arrive pas a m'en dépatouiller...
 
Pouvez vous m'aider? Je vous remerci d'avance
 
voici le code en question:
 
Sub Bouton()
'
'Creation du nouveau dossier dans le chemin spécifié, portant le nom de la cellule A1
 
 
   ChDir _
        "C:\Documents and Settings\simon\Mes documents\range("A1" ).Value"
 
 
 
'Enregistrement sous dans le dossier cree precedement en PDF avec le nom de la cellule A2
 
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Documents and Settings\simon\Mes documents\Range("A1" ).Value\Range("A2" ).Value & ".xls" _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        True
End Sub

Reply

Marsh Posté le 12-10-2011 à 14:24:28   

Reply

Marsh Posté le 13-10-2011 à 17:06:09    

Bonjour,
 
Alors la fonction ChDir permet de changer de dossier, pas de le créer. Et il faut concaténer la valeur de la cellule, là tu l'as juste inscrite dans une chaîne de caractère.
 
Autrement dit, la première instruction veut dire "définir le dossier courant comme étant litéralement C:\Documents and Settings\simon\Mes documents\range("A1" ).Value". C'est pas trop ce qu'on veut :D
 
Pour créer un dossier, c'est la fonction MkDir.
 
Donc déjà il faut créer le bon nom de dossier via concaténation :

Code :
  1. Dim CheminDossier as String
  2.    CheminDossier = "C:\Documents and Settings\simon\Mes documents\" & ActiveSheet.[A1]
  3.  
  4. MkDir CheminDossier


 
Ensuite pour exporter, même chose, on concatène avec le contenu de A2 :

Code :
  1. Dim CheminFichier as String
  2.    CheminFichier = CheminDossier & "\" & ActiveSheet.[A2] & ".pdf"
  3.  
  4. ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CheminFichier, _
  5.        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

Reply

Sujets relatifs:

Leave a Replay

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