IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

enregistrement sous nom parametrable


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 3
    Par défaut enregistrement sous nom parametrable
    bonjours a tous ,
    (stagiaire)
    je vous explique mon probleme ,je gere les agents d'une entreprise sur excel
    ..jy est inseré un bouton qu'i m'ouvre un formulaire (word) pour les fiche medicales
    avec les champs suivant:
    nom :
    prenom:
    matricule:
    ....
    j'ai crée un bouton et je cherche une macro qui me permetra d'enregistrer quand la fiche medical est rempli sous un nom definie
    FMA_(matricul)_(date)
    FMA ne changera pas, je ne sais pas comment allé chercher le matricule dans le champ du formulaire,et la date .
    (si cela peut aider dans ma feuille excel "fiche agent" le matricul est situer en B19)

    et que le fichier s'enregistre dans un repertoire defini qui est :
    C:\Documents and Settings\rm715079\Bureau\Inaptitude\Fiches médicales

    merci d'avance

  2. #2
    Membre Expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 475
    Par défaut Sujet
    Bonjour,

    Voici un doc et un code vite fait; j'espère utile

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub Recup_Enreg()
     
        WordBasic.ToolsUnprotectDocument
        'cherche matricule (signet3) et date (signet4)
        matr = ActiveDocument.FormFields("texte3").Result
        dat = ActiveDocument.FormFields("texte4").Result
        dat1 = ""
        'transformation date car "/" pas accepter dans nom de fichier
        For i = 1 To Len(dat)
            car = Mid(dat, i, 1)
            If car <> "/" Then dat1 = dat1 + car
        Next i
     
        NomFichier = "c:\temp\FMA_" + matr + "_" + dat1 + ".doc"
     
        With ActiveDocument
            .SaveAs NomFichier
        End With
     
        WordBasic.ToolsProtectDocument DocumentPassword:="", NoReset:=1, Type:=2
     
    End Sub
    Fichiers attachés Fichiers attachés

  3. #3
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Il est vrai que l'objet Dialog wdDialogFileSaveAs n'est pas très paramétrable.

    Mais la suite office possède une boîte de dialogue plus souple pour les manipulations sur fichier, c'est l'objet FileDialog.


    Pour l'enregistrement, ce code devrait faire l'affaire :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub TestEnregistrement()
    Dim oDlg As FileDialog
     
    Set oDlg = Application.FileDialog(msoFileDialogSaveAs)
     
     
    With oDlg
        .InitialFileName = "c:\temp\Olivier"
        .Title = "Moi"
        .Show
    End With
    Set oDlg = Nothing
     
    End Sub
    Pour les données issues du formulaire, c'est pas trop compliqué.

    Si tu utilises le code que j'ai donné dans ton formulaire basé sur un bouton, on peut obtenir le contenu des contrôles avec Me qui fait référence au formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .InitialFileName = "C:\Temp\" & "_" & Me.Matricul & "_" & Format(Me.Date, "YYYY-MM-DD")
    Il ne reste qu'à valider le nom de fichier dans la boîte de dialogue.

    Si tu ne souhaites pas passer par cette boîte de dialogue.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.SaveAs "C:\Temp\" & "_" & Me.Matricul & "_" & Format(Me.Date, "YYYY-MM-DD")
    Mais pas de contrôle possible par l'utilisateur.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

Discussions similaires

  1. Macro pour enregistrer sous / nom du fichier
    Par vinzu dans le forum VBA Word
    Réponses: 12
    Dernier message: 05/11/2014, 18h19
  2. Enregistrer sous - nom fichier dans cellule
    Par tom0ne dans le forum Excel
    Réponses: 3
    Dernier message: 26/08/2013, 22h03
  3. Enregistrer sous - nom fichier dans cellule
    Par tom0ne dans le forum Word
    Réponses: 2
    Dernier message: 25/08/2013, 00h07
  4. enregistrer sous nom de variable publiposté
    Par deca2 dans le forum VBA Word
    Réponses: 51
    Dernier message: 17/06/2008, 12h56
  5. enregistrer sous -nom-
    Par abouhossam dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/02/2008, 21h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo