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

Word Discussion :

Répéter contenu signet après insertion depuis Access


Sujet :

Word

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 22
    Points
    22
    Par défaut Répéter contenu signet après insertion depuis Access
    Bonjour,

    Je rencontre aujourd'hui un petit problème. En effet, je devais réussir à importer des données spécifiques depuis un formulaire Access vers un Document Word. Pour cela, j'ai utilisé le système de signets (ce qui m'aura été recommandé après avoir premièrement exploré la piste du publipostage).

    Jusque là, pas de problème. En revanche, le problème est que dans un très long document, je répète plusieurs fois les même informations (sexe, nom, prénom etc...) et qu'ici, le système de signets devient redondant (NOM1, NOM2, NOM3 si je veux le répéter plusieurs fois). J'ai de très nombreux documents à traiter et c'est une perte de temps colossale d'avoir à créer autant de signets et par la même mon code VBA sur Access me permettant d'importer les dites données est très lourd...

    Après quelques recherches, j'ai vu qu'il existait un système de renvoi, mais dans mon cas cela ne fonctionne pas car suite à l'insertion des données, mes signets sont effacés.

    Je vous serais très reconnaissant pour l'aide apportée et vous remercie d'avance.

  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,

    Si c'est possible, tu peux utiliser un REFSTYLE qui répète le texte d'un style précis.

    il suffit que les données à répéter aient un style propre et le tour est joué.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    Il y a beaucoup de données différentes... Je doute que cette solution convienne :/
    J'ai essayé de créer un nouveau signet via le code VBA d'Access après insertion des données, ainsi je pourrais utiliser la fonction "Renvoi" de Word.
    Qu'en penses-tu ? Jusque là ça fonctionne. En revanche je rencontre un problème, c'est qu'il fonctionne (littéralement) une fois sur 2 !

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Selection.HomeKey Unit:=wdStory
        With Selection.Find
                .ClearFormatting
                .Text = Me.sexe_patient
        End With
        If Selection.Find.Execute Then
        Selection.Select
            ActiveDocument.Bookmarks.Add Name:="SEXE", Range:=Selection.Range
        End If
    Et il se répète autant de fois que j'en ai besoin.
    Mais à la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.HomeKey Unit:=wdStory
    Il m'affiche une erreur toutes les deux fois que j’exécute mon code complet, l'erreur étant la suivante :
    "Le serveur distant n'existe pas ou n'est pas disponible", alors que juste avant ça fonctionnait...

  4. #4
    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 pense que l'utilisation de champs de formulaire devrait te convenir.

    Ça fonctionne un peu comme les signets, mais ils ne sont pas détruits lorsqu'une donnée est adressée au champ.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    Merci, ça me semble en effet bien plus simple !
    J'ai donc essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wordDoc.Fields(1).Result.Text = Me.sexe_patient
    Et ça fonctionne. Du coup, je me demandais s'il était possible d'attribuer manuellement un nombre à un champ au vu de la complexité du document. Car je trouve que Fields(1) n'est pas très précis... A moins qu'il y ait un autre moyen de dénommer un champs en VBA ?

    Enfin, lorsque j'essaie d'insérer ma valeur et que j'ai déposé un signet "SEXE" sur mon champ, après exécution du code dans Access, la valeur est insérée non pas dans le champ mais à sa droite. Au final le champ reste donc vide. Voilà à quoi ressemble le champ :
    { SEXE } (SEXE n'étant là que pour une indication visuelle).

    Est-ce normal ? Car ensuite, lorsque j'essaie de faire un renvoi depuis ce signet, cela ne fonctionne pas puisqu'au final, mon champ n'a pas été mis à jour :/ Au contraire, après avoir fait F9, le message d'erreur s'affiche à la place du signet :
    "Erreur ! Référence non valide pour un signet"

  6. #6
    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,

    Oui, on peut utiliser le nom du champ.
    Et si pour chaque champ à répéter, tu donnes un nom de style différent, tu peux utiliser REFSTYLE et on peut aussi utiliser le nom du champ qui est considéré comme signet pour y faire référence.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    Je vois... Mais le problème est que mon champ est toujours vide, et que l'insertion se fait à côté :



    Du coup même mon REFSTYLE ne fonctionne pas.

    Et concrètement, en VBA, comment faire référence au Nom du champ, et surtout COMMENT nommer ce dit champ ?

    Merci de m'aider en tout cas, je ne pourrais pas avancer seul...

  8. #8
    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,

    Essaie avec Ctrl + A suivi de F9 pour tout mettre à jour.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    Alors, bizarrement (et j'avoue ne pas savoir du tout comment j'ai fais...) maintenant ça se met bien dans le champ et non pas à côté.
    Mais le problème, c'est que suite à cela, ma référence ne fonctionne pas alors même que le signet est bien placé. A la place de {REF NOM}, l'erreur "Erreur, signet non défini" apparait. Alors si je fais F9 sur ce seul emplacement, ça fonctionne mais si je le fais sur l'ensemble de mon document (donc Ctrl+A puis F9) à chaque emplacement de mes champs l'erreur "Erreur ! Référence non valide pour un signet" apparait. Du coup, même à l'impression l'erreur se fait...

  10. #10
    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,

    Pourrais-tu me mettre un exemple de document avec cette erreur ?

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    Bien sûr, voici le document en question, suivant les étapes :








  12. #12
    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,

    Une impression d'écran ne m'aide pas.

    Vide le document des données inutiles ou confidentielles pour le mettre sur le forum.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    Je comprends. Le voici en pièce jointe. Merci.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/05/2014, 16h09
  2. Recharger le form1 apres insertion depuis form2
    Par lucaazori1988 dans le forum VB.NET
    Réponses: 4
    Dernier message: 16/09/2010, 16h02
  3. [ASP.NET-ACCESS] probleme d'update apres insertion
    Par come18 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/05/2007, 12h59
  4. Exception Access après insertion
    Par jgavard dans le forum JDBC
    Réponses: 6
    Dernier message: 20/02/2007, 17h34
  5. signet dans word depuis access
    Par imeys dans le forum Access
    Réponses: 7
    Dernier message: 17/02/2007, 13h57

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