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 :

Noms des champs de propriétés


Sujet :

VBA Word

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 1
    Points
    1
    Par défaut Noms des champs de propriétés
    Bonjour tout le monde,

    je suis actuellement en stage dans une entreprise et on m'a demandé de faire des modifications sur les macros word qu'ils utilsent.

    Le principe est simple : quand on ouvre un document word, on nous demande d'entrer des paramètres (le nom de l'auteur, la date ou autre).
    J'ai fais des recherches pour transférer les noms entrés pour les mettre dans les champs de propriétés (Fichier->Propriétés) mais je suis confronté à un problème:
    je ne sais pas quel nom mettre pour afficher les informations dans les champs responsable, société, catégorie et mots clés.
    J'ai essayé manager pour responsable mais ça n'a rien donné.

    Pour vous donner un exemple de ce que je cherche exactement, quand je veux remplier le champ titre, il faut que j'utilise le mot title dans le code de la maccro.

    J'espère avoir été clair mais je reste à votre disposition si vous avez des points à éclaircir.

    Bonne journée à tous.

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,
    Je vais te donner un lien vers un tuto sur l'utilisation des propriétés de document

    http://heureuxoli.developpez.com/office/word/variables/

    Si les utilisateurs ont un logon, on peut récupérer les données sur l'utilisateur de façon automatique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Utilisateur As String
     
    Utilisateur = Environ("UserName")
     
    MsgBox Utilisateur

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    j'avais regardé ce tuto (que je trouve très bien d'ailleurs) mais quand on avait testé, les champs société et ceux que j'ai cité dans le premier message ne se remplissaient pas. C'est pour ça que je demande parce que ça me semble bizarre.

    Je suis sous Word 2000 peut-être que ça peut expliquer

  4. #4
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonsoir,

    pas de probléme avec le code du tuto :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    End Sub
    Sub LokenProperties()
     ActiveDocument.BuiltInDocumentProperties(wdPropertyCompany) = "Societe à Loken"
     ActiveDocument.BuiltInDocumentProperties(wdPropertyCategory) = "Catégories à Loken"
     ActiveDocument.BuiltInDocumentProperties(wdPropertyManager) = "Responsable à Loken"
     ActiveDocument.BuiltInDocumentProperties(wdPropertyKeywords) = "Mots Clefs à Loken"
    End Sub


    JacqueS.

  5. #5
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Je viens de faire le test avec Word 97 et ça fonctionne aussi, donc je ne comprend pas la raison de cet échec sur 2000.

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    j'ai peut-être fait une erreur en écrivant le code.
    Je vérifierais lundi et si ça marche je mettrais que mon problème est résolu

    Dans tous les cas merci beaucoup pour vos réponses
    bonne journée

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    je viens de tester le code mais il ne marche pas.
    Je vais détailler ce que je fais en expliquant (je viens de comprendre le truc) ce que je veux.

    En fait à l'ouverture du document j'ai une fenêtre (macro) qui s'ouvre et me demande des informations sur le document: le nom de l'affaire, la date, etc...

    Ces champs, qui sont des variables, je veux les enregistrer dans les propriétés. Pour cela, je fais ceci (je montre avec ceux qui marchent) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    WordBasic.FileSummaryInfo Title:=Affaire$
    WordBasic.FileSummaryInfo Subject:=Titre_Doc$
    WordBasic.FileSummaryInfo Author:=Référence_Doc$
    WordBasic.FileSummaryInfo Comments:=Date_Doc$
    Quand je remplis et que je vais sur propriété, les champs ont été remplis correctement.
    Ensuite quand j'essaye ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ActiveDocument.BuiltInDocumentProperties(wdPropertyCompany) = "Societe à Loken"
     ActiveDocument.BuiltInDocumentProperties(wdPropertyCategory) = "Catégories à Loken"
     ActiveDocument.BuiltInDocumentProperties(wdPropertyManager) = "Responsable à Loken"
     ActiveDocument.BuiltInDocumentProperties(wdPropertyKeywords) = "Mots Clefs à Loken"
    ça ne donne rien et quand je fais du deboggage il ne connait pas.
    Donc je l'ai mis comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    WordBasic.FileSummaryInfo Manager:=Titre_Doc$
    WordBasic.FileSummaryInfo Company:=Date_Doc$
    WordBasic.FileSummaryInfo Category:=Référence_Doc$
    WordBasic.FileSummaryInfo Keywords:=Version_Doc$
    mais là encore ça ne marche pas il me met une erreur lors du debbogage.

    Savez vous pourquoi ?

    PS: j'ai essayé de remplir directement les propriétés à partir du code et la encore seule les 4 premières que j'ai mentionné sont remplies.

  8. #8
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonsoir,

    où as tu placé le code donné ? comment lance tu son exécution ?
    essai de placer le code dans un module de ton document, puis lance le directement le code par F5 dans VBE.

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    j'ai placé le code dans l'éditeur de macro intégré à word

    je lance l'exécution en lançant la macro (mais même en écrivant directement dans les champs depuis le code ça ne marche pas pour les champs cités précédemment)

  10. #10
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Citation Envoyé par Loken Voir le message
    personnes pour m'aider ??
    faudrai faire cela dans les deux sens, dis nous, comment "lance tu ton code" .. tu le place bien dans un module de ton document...


    (mais même en écrivant directement dans les champs depuis le code ça ne marche pas pour les champs cités précédemment)
    comment tu fais pour écrire directerment dans les champs?

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Pour écrire le code, je fais Alt+ F8 puis je choisi ma macro et enfin je fais modifier.

    A partir de là, j'écris mon code.

    Pour le lancer, je lance simplement la maccro et en ce qui concerne les champs fonctionnels précédemment cités, ça marche.
    Pour les autres, lorsque je fais F8 (cf menu debbogage), il me met la ligne en jaune (en gros il ne connait pas).

    Pour écrire directement dans les champs, j'entre la valeur du champs dans le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    WordBasic.FileSummaryInfo Title:="affaire"
    WordBasic.FileSummaryInfo Subject:="sujet"
    WordBasic.FileSummaryInfo Author:="auteur"
    WordBasic.FileSummaryInfo Comments:="commentaires"
     
    WordBasic.FileSummaryInfo Manager:="manager"
    WordBasic.FileSummaryInfo Company:="compagnie"
    WordBasic.FileSummaryInfo Category:="catégorie"
    WordBasic.FileSummaryInfo Keywords:="mots-cles"
    puis quand je fais exécuter (le petit triangle qu'on utilise pour play en musique) il me surligne en jaune la ligne avec les infos manager
    quand je la supprime c'est la ligne du dessous qui est soulignée et ainsi de suite jusqu'a ce que les 4 lignes ne soient plus.

  12. #12
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonjour,

    Et une fois que tu as choisi ta macro,où est tu situé dans ton explorateur de projet ( CTRL +R )

    je Viens d'essayer à nouveau le code que j'ai posté plus haut, en l'insérant par ta méthode, et ce code fonctionne même si la macro est située dans "normal.dot", suffit de bien penser à activer le document à modifier avant le ALT-F8 ...

  13. #13
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Quand je suis dans l'éditeur de macro, la macro se trouve dans Project (modele_doc) -> Modules

    Activer le document à modifier ? c'est à dire ?

  14. #14
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Citation Envoyé par Loken Voir le message
    Quand je suis dans l'éditeur de macro, la macro se trouve dans Project (modele_doc) -> Modules

    Activer le document à modifier ? c'est à dire ?
    bonsoir, le code que j'ai mis plus haut agit sur le document actif, le document actif sous word est le document au premier plan ..;

  15. #15
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    j'ai fais une recherche dans Word et j'ai trouvé quelque chose :
    les BuiltInDocumentProperties sont en lecture seule ce qui veut dire qu'on peut pas les remplir or moi je veux les remplir donc ton code dans tous les cas ne me donne pas ce que je veux (il ne voulait déjà pas s'exécuter)

  16. #16
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Je pense que l'utilisation de WordBasic n'est plus à faire.
    Ces méthodes et propriétés continuent à fonctionne rpour garder une compatibilité avec les versions antérieures.

    Petites précisions, les BuiltInProperties ne sont pas toutes en lecture seule.

  17. #17
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut Complément sur WordBasic
    Salut,

    En effet, même si Microsoft fait un gros effort sur la compatibilité ascendante, il existe des instructions qui ne fonctionnent plus de la même manière qu'avant donc le WordBasic est vraiment à abandonner surtout avec [WO07] et le XML qui a ajouté un le modèle objet de gestion des fichiers qui n'a plus rien à voir avec de simples fichiers .doc comme avant.

    Tiens, d'ailleurs, il me reste encore des macros à traduire de WordBasic pour ma société. Les cordonniers sont souvent les plus mal chaussés (Aie, j'ai des grosses ampoules avec ces vieilles macros )

    Tréve de plaisanterie, oui il faut absolument et le plus tôt possible abandonner Wordbasic.


    @+

  18. #18
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    peut-être mais pour l'instant j'ai un boulot à faire sur les macros donc j'ai pas trop le choix faut que je reste dessus.

    J'ai résolu mon problème de propriétés par une méthode de remplacement : créer ses propres propriétés. J'ai essayé de le remplir avec une variable que je demande à l'utilisateur de remplir au préalable et là ça marche nickel chrome.

    maintenant j'aimerais lire cette propriété pour l'afficher dans le document. Je m'explique : lorsqu'on lance la macro, une fenêtre de saisie apparaît où l'utilisateur rentre les informations dans les différents champs. Or, lorsque le fichier est déjà rempli, les champs sont pleins et si l'utilisateur veut les modifier, il faut que les champs déjà remplis apparaissent comme rempli dans la fenêtre de saisie. Au final, les informations seront utilisées dans le document pour remplir des zones prédéfinies du fichier

    Voila, j'espère avoir été suffisament clair dans mes explications pour obtenir une réponse précise. Si ce n'est pas le cas, demandez moi des précisions, te tacherais d'y répondre avec plus de précision

    bonne journée

  19. #19
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut,

    Juste pour compléter, il faut savoir que tu peux sans problème ajouter du code VBA dans du WordBasic, puisque de toute façon, tu utilises VBA (il n'y a plus que ça dans [Wo]).

    Pour remplir des boites de dialogue en WordBasic, on utilisait des DlgBox avec qui décrivait la boîte et son contenu. Est-ce que c'est ton cas ? Si oui, envoie le code ta dlgBox (et son appel), si ce n'est pas pas confidentiel. J'essayerai de me souvenir comment ça marche

    @+

  20. #20
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim dlg As Object: Set dlg = WordBasic.CurValues.UserDialog
     
     
    dlg.Affaire = Affaire$
    dlg.Date_Doc = Date_Doc$
    dlg.Titre_Doc = Titre_Doc$
    dlg.Référence_Doc = Référence_Doc$
    dlg.Type_Doc = Type_Doc$
    dlg.CTD_Doc = CTD_Doc$
    dlg.Version_Doc = Version_Doc$
    dlg.Confidentialité = Confidentialité$
    voila le code que j'utilise avec les dlgBox.

    Je sais pas à quoi il sert puisque je l'ai récupéré d'une macro déjà existante pour faire le système de saisie mais peut-être que toi ça te parle.
    Dans tous les cas, ce que je voudrais c'est que quand je " relance" la macro, les valeurs entrées apparaissent et que je puisse les modifier pour en mettre des nouvelles.

Discussions similaires

  1. récupérer la liste des noms des champs d'une table
    Par la_didise dans le forum Access
    Réponses: 2
    Dernier message: 29/05/2006, 16h55
  2. Modifier le nom des champs d'une table...
    Par Mr Capone dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/01/2005, 10h22
  3. Delphi - Base donnée Paradox, problème de nom des champs
    Par mjp dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/01/2005, 21h10
  4. nom des champs d'une table
    Par K-ZimiR dans le forum Requêtes
    Réponses: 6
    Dernier message: 22/04/2004, 14h21
  5. comment recuperer le nom des champs ?????
    Par e11137 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/01/2004, 10h00

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