Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2352 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Toute petite macro VBA pour enregistrement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Toute petite macro VBA pour enregistrement

n°2105984
aliengille​s
Posté le 12-10-2011 à 14:24:28  profilanswer
 

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

mood
Publicité
Posté le 12-10-2011 à 14:24:28  profilanswer
 

n°2106216
FlorentG
Unité de Masse
Posté le 13-10-2011 à 17:06:09  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Toute petite macro VBA pour enregistrement

 

Sujets relatifs
Help Me !! VBA 2007 impression et ouverture automatique de PDFMacro sous excel
Conseil pour une macrobesoin d aide macro Excel
recherche champ minimum enregistrement mysql[VBA-Excel] Protéger une partie de la feuille par Macro
VBA : Comment installer une nouvelle version d'une Object Library ?Petite code PHP à modif
[VBA] Type utilisateur et objet 
Plus de sujets relatifs à : Toute petite macro VBA pour enregistrement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR