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 :

un même signet, plusieurs fois, dans un même document ?


Sujet :

Word

  1. #21
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Par défaut
    Bonjour,

    J'ai essayé ... et cela ne marche pas ...

    En fait, j'ai le message d'erreur suivant :

    "Aucun document n'est ouvert"

    En fait, j'ai ajouté la ligne (active document ...) uniquement pour le signet S1 ... pour les autres, j'ai laissé le code initial.

    Ma pseudo fusion initiale fonctionne pour les signets "ancien modèle" (i.e. le texte se met à côté du signet et pas "dedans") mais dès que j'arrive à la ligne "activedocument" ... j'ai le message d'erreur précité ....

    Pour info, voici le code "publipostage" :

    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
    Private Sub Commande32_Click()
    'On Error GoTo err_command32
     
    Set oWord = CreateObject("Word.Application")
    Set oDoc = oWord.Documents.Add(Me.Modifiable57.Column(3))
    oWord.Visible = True
    oDoc.Bookmarks("S2").Range.Text = Me.Texte13
    ActiveDocument.Bookmarks("S1").Range.Text = Me.Texte11
    oDoc.Bookmarks("S3").Range.Text = Me.Texte15
    oDoc.Bookmarks("S4").Range.Text = Me.Texte17
    oDoc.Bookmarks("S5").Range.Text = Me.Texte20
    oDoc.Bookmarks("S6").Range.Text = Me.Texte22
    oDoc.Bookmarks("S7").Range.Text = Me.Texte25
    oDoc.Bookmarks("S8").Range.Text = Me.Texte39
    oDoc.Bookmarks("S9").Range.Text = Me.Texte41
    oDoc.Bookmarks("S10").Range.Text = Me.Texte59
     
    oDoc.SaveAs Me.Texte51 & "\" & Forms!consultation_dossier!N°dossier_gestion & " " & Forms!consultation_dossier!Pour & " vs " & Forms!consultation_dossier!Contre & "\" & Forms!consultation_dossier!N°dossier_gestion & " courriers\" & Me.Texte43 & ".doc"

  2. #22
    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
    J'utilise toujours ActiveDocument, mais ça peut être une autre objet document.
    Il est plus facile de donner du code avec ActiveDocument qui est générique qu'avec tout autre objet.
    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 !

  3. #23
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Par défaut
    Qu'entends-tu par "çà peut être un autre objet document" ?

  4. #24
    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

    Quand tu fait :

    Tu crées un objet document.

    ActiveDocument est aussi un Objet document qui est le document actif dans l'application Word.
    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 !

  5. #25
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Par défaut
    Hum hum

    Donc mon code devrait être du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set oWord = CreateObject("Word.Application")
    Set Activedocument = oWord.Documents.Add(Me.Modifiable57.Column(3))
    oWord.Visible = True
    ActiveDocument.Bookmarks("S1").Range.Text = Me.Texte11

  6. #26
    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
    Non, j'utilise ActiveDocument par facilité.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set oWord = CreateObject("Word.Application")
    Set Odoc = oWord.Documents.Add(Me.Modifiable57.Column(3))
    oWord.Visible = True
    oDoc.Bookmarks("S1").Range.Text = Me.Texte11
    oDoc.Bookmarks("S2").Range.Text = Me.Texte11
    oDoc.Bookmarks("S21").Range.Text = Me.Texte11
    Ne sachant pas quel nom le membre du forum va donner à sa variable, ActiveDocument fonctionne dans la majorité des cas.
    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 !

  7. #27
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Par défaut
    Bonjour,

    C'est précisément ce code que j'utilise (cf supra) mais les signets "ne se remplissent pas" ... le texte se positionne juste à côté .... et donc pas de possibilité de mise à jour du champ {ref S1}, par exemple ...

    Je crains qu'il ne me soit pas possible de faire ce que je voulais .... ... sauf en "remoulinant" le code du publipostage avec "activedocument"

  8. #28
    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
    Pourquoi ne mets-tu pas plusieurs signet dans ton document ?

    Je vais regarder comment faire pour que le texte remplisse le signet et ne se mette pas simplement derrière.
    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 !

  9. #29
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Par défaut
    Bonjour,

    En fait, la difficulté, c'est que, selon le document, je n'ai pas besoin de l'ensemble de mes signets.

    J'ai donc essayé de rationaliser aux mieux ces derniers car si l'un des signets n'est pas utilisé, l'appli access m'indique qu'un "objet requis" (de mémoire, car je ne suis pas chez moi mais en déplacement pour le boulot) manque et la fusion continue mais la sauvegarde automatique plante ... et je dois taper moi-même le nom du fichier ... sans oublier le risque d'une fausse manip qui entrainerait, par exemple, l'absence de sauvegarde .... ou un mauvais nom de fichier ... ou un mauvais emplacement ...

    J'envisage en conséquence d'éviter d'avoir deux signets différents (pour permettre la répétition, à la droite du signet, de mes données) dans un même document car, si je ne répète pas l'information dans mon modèle, mon appli va planter puisqu'elle ne trouve pas le signet ...

    Je cherche également de mon côté ... bien sûr ... et te remercie à nouveau de ton aide.

  10. #30
    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
    Dans ce cas, c'est assez facile, il suffit de gérer l'erreur du signet.

    Je vais regarder comment détecter et passer au-delà de cette erreur.
    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 !

  11. #31
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Par défaut
    Bonjour

    Je pourrai ajouter un :

    Mais la difficulté, c'est que dans le cadre de ma fusion j'ai une sauvegarde automatique ... qui, si les répertoires de destination pour le dossier contentieux que je traite n'existent pas, entraîne une erreur ...

    L'idéal serait d'avoir :

    - si erreur de signet alors on passe à la ligne suivante,

    - si erreur concernant la sauvegarde automatique, alors créer les répertoires indispensables puis fusionner et enfin sauvegarder automatiquement ...

    En écrivant ce message, je me demande si il ne serait pas plus simple de créer , dès la création du dossier contentieux, les répertoires indispensables ... je regarde çà ....

  12. #32
    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
    En fait, il ne faut pas utiliser On Error Resume Next, mais gérer l'erreur.

    On peut connaître les différents motifs d'erreur levé par une porcédure et les traiter au cas par cas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    On Error GoTo MaGestion
     
     
     
     
    MaGestion:
    Select Case Err.Number
    Case ""
        Resume Next
    Case ""
     
     
    End Select
    Avec ce genre de gestion.

    Pour connaître le numéro de l'erreur, on peut la provoquer et la récupérer avec un Debug.Print par exemple.
    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 !

  13. #33
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Par défaut
    C'est bon ... en partie.

    J'automatise lors de la création d'un dossier client, la création des différents répertoires me permettant de classer mes documents (courrier, conclusions, etc.).

    Il n'y a donc plus de risque qu'une erreur se produise lors de la fusion puisque les répertoires existent nécessairement .

    Il n'y a donc plus que le pb des signets qui ne sont pas repris dans le document utilisé pour la fusion, mais qui peuvent être utiles pour d'autres documents de fusion ...

    Pourquoi ne pas faire un :

    ???

  14. #34
    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
    Le On Error Resume Next va continuer l'exécution du code si une erreur survient et ce quelle que soit l'erreur.
    Certaines erreurs peuvent être ignorées alors que d'autres pas.
    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 !

  15. #35
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Par défaut
    Effectivement

    Mais si j'ai une "erreur" concernant un signet que je n'utilise pas, cette commande ne me pose a priori aucune difficulté ... puisqu'elle permettra la sauvegarde automatique.

    Concernant le reste du code, je pense l'avoir "verrouillé" pour qu'il n'y ait pas d'autres erreurs que celles relatives aux signets.

  16. #36
    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
    C'est un réflexe, si c'est pour gérer une erreur et ne rien faire avec
    Maintenant, tu fais comme bon te semble, les conseilleurs ne sont pas les payeurs.

    Perso, si je gère l'erreur, je le fais jusqu'au bout, c'est un réflexe.
    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 !

  17. #37
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Par défaut
    Bonjour,

    Certaines erreurs peuvent être ignorées alors que d'autres pas
    Ce "type" d'erreur ne peut pas être ignoré dans le cadre d'une fusion ? Que peut-il se passer pour le reste du processus ?

  18. #38
    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
    C'est une généralité, un réflexe à avoir.

    On Error Resume Next peut cacher une montagne.

    Dans le cadre de la fusion, il peut se passer plein de chose.
    En général, on les découvre une à une.

    Si tu veux travailler avec On Error Resume Next, je te conseille à la fin de ton code de mettre un

    Au moins tu auras une trace.
    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 !

  19. #39
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Par défaut
    Bonjour,

    J'imagine que, par le biais de code, j'aurai le "numéro" de mon erreur que je pourrai ensuite gérer ... si je la découvre.

    Je continue mes recherches ...

  20. #40
    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
    C'est exact.
    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. [2.x] Utiliser le même formulaire plusieurs fois dans la même page
    Par Daecarios dans le forum Symfony
    Réponses: 3
    Dernier message: 06/07/2012, 14h53
  2. utilisation de script js plusieurs fois dans une même page
    Par tribalnanasss dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/07/2010, 00h34
  3. Réponses: 1
    Dernier message: 28/05/2009, 22h45
  4. [XSLT] variable définie plusieurs fois dans la même portée
    Par dhallennem dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 06/02/2008, 15h48
  5. Réponses: 4
    Dernier message: 21/11/2007, 12h19

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