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 :

impression automatique par rapport a un titre


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Points : 13
    Points
    13
    Par défaut impression automatique par rapport a un titre
    Bonjour,


    J'ai trouvé ce code ici même mais j'ai un petit probleme et ne connaissant pas grand chose en VBA je me tourne vers vous. Voici mon problemem j'ai un document avec un sommaire et donc je souhaiterais imprimer la page dont le titre est "MODIFICATION DE PERIMETRE" mais pas le sommaire.

    comment coder cela

    merci de votre aide.

    Bonne journée.


    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
    23
    24
    25
    Sub ChercheEtPrint()
        ActiveDocument.Range.Select
        Selection.HomeKey Unit:=wdStory
        Selection.Range.Find.ClearFormatting
        With Selection.Find
            .Text = "MODIFICATION DE PERIMETRE"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindAsk
            .Format = False
            .MatchCase = False
            .MatchWholeWord = True 'Mots Entier
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            .Execute
        End With
      While Selection.Find.Found
           Debug.Print "Trouvé"
           Application.PrintOut Range:=wdPrintCurrentPage
           Selection.Find.Execute 'Cherche suivant
      Wend
      Call ChercheEtPrint2
      Call ChercheEtPrint3
    End Sub

  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,

    Reçois tu un message d'erreur ?
    Peux-tu nous dire ce qui ne fonctionne pas ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Points : 13
    Points
    13
    Par défaut
    BOnjour,

    tout fonctionne bien mais il m'imprime ma page de sommaire + la page voulu et j'aimerais ne pas imprimer le sommaire .

    merci de votre aide.

  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,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      Call ChercheEtPrint2
      Call ChercheEtPrint3
    Ça correspond à quoi ??
    Tu fais appel à ces routines mais on ne sais pas ce qu'elles contiennent.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Points : 13
    Points
    13
    Par défaut
    oups j'ai oublié des les retirer elle n'y sont plus dans ma macro.

  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
    J'y pense, ton sommaire est-il une table des matières Word ou un sommaire manuel.
    Si ce sommaire est manuel, ton texte s'y trouve deux fois !!

    Il faut faire un test supplémentaire pour connaître le numéro de la page trouvée, si c'est la première page, il ne faut pas l'imprimer.

  7. #7
    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 tester, et même pour un sommaire fait par Word, la page s'imprime, il faut donc faire un test supplémentaire.

  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
    Voilà le code modifié !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      While Selection.Find.Found
           Debug.Print "Trouvé"
           If Selection.Information(wdActiveEndPageNumber) <> 1 Then
           Application.PrintOut Range:=wdPrintCurrentPage
           End If
           Selection.Find.Execute 'Cherche suivant
      Wend

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Points : 13
    Points
    13
    Par défaut
    c'est une table des matières Word .

    voicle code modifier mais j'ai toujours la table des matieres qui s'imprime. ?

    une idée.



    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
    23
    24
    25
    26
    27
    28
    29
    30
    Sub ChercheEtPrint()
        ActiveDocument.Range.Select
        Selection.HomeKey Unit:=wdStory
        Selection.Range.Find.ClearFormatting
        With Selection.Find
            .Text = "MODIFICATION DE PERIMETRE"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindAsk
            .Format = False
            .MatchCase = False
            .MatchWholeWord = True 'Mots Entier
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            .Execute
        End With
      While Selection.Find.Found
           Debug.Print "Trouvé"
     
           If Selection.Information(wdActiveEndPageNumber) <> 1 Then
           Application.PrintOut Range:=wdPrintCurrentPage
           End If
           Selection.Find.Execute 'Cherche suivant
     
     
           'Application.PrintOut Range:=wdPrintCurrentPage
           'Selection.Find.Execute 'Cherche suivant
      Wend
    End Sub

  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,

    La table des matière s'étend sur combien de pages ?

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Points : 13
    Points
    13
    Par défaut
    3 pages. mais je viens de voir un truc curieux la priemere page de mon document est al page 2 et rien avant ??

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Selection.Information(wdActiveEndPageNumber) < 3 Then
           Application.PrintOut Range:=wdPrintCurrentPage
           End If
    Modifies le code pour voir ?

    Si ce n'est pas toi qui a fait le document, probablement que la personne qui a écrit le document a voulu ne pas numéroter la première page ou commencer à 2.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Points : 13
    Points
    13
    Par défaut
    non pas de changement j'ai toujours mon sommaire.

  14. #14
    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
    Positionne ton curseur dans le sommaire et utilise ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub NumPageAmontrer()
        Debug.Print Selection.Information(wdActiveEndPageNumber)
    End sub
    Dis moi quel page tu reçois !

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Points : 13
    Points
    13
    Par défaut
    bonjour,

    il ne se passe rien.

    bonne journée.

  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

    Surprenant !
    Ton sommaire n'a pas de numéro de page.

  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
    Salut,

    C'est tout à fait normal avec le code que tu as d'imprimer la page de sommaire et la page que tu veux, puisque c'est ce que tu demandes à Word (c'est même bien qu'il le fasse ). En effet, tu recherches toutes les occurrences du texte "MODIFICATION DE PERIMETRE" (et Word les trouve) et lorsque tu en as trouvé tu demandes à imprimer la page. Comme ton texte est la fois dans le sommaire et dans le texte, tu imprimes... le sommaire et la page concernée.

    Pour éviter ce point (qui est le bon fonctionment de Word mais qui n'est pas ce tu veux), utilises un style (certainement "Titre 1" mais je ne sais pas vraiment sans ton doc) pour rechercher dans le texte et pas dans la table des matières. Et cà devrait marcher.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        Selection.Find.ClearFormatting
        Selection.Find.Style = ActiveDocument.Styles("Titre 1")
        With Selection.Find
            .Text = "MODIFICATION DE PERIMETRE"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
    @+

Discussions similaires

  1. un compteur automatique par rapport à une colonne
    Par sinoun dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 27/07/2012, 13h54
  2. filtre automatique par rapport à une date
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/11/2009, 16h04
  3. Réponses: 4
    Dernier message: 02/06/2008, 14h03
  4. hauteur <div> automatique par rapport à un autre <div>
    Par arnaud_verlaine dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 08/05/2008, 19h38
  5. Impression automatique des Rapports SQL Server 2005
    Par jnberger dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 04/05/2007, 10h55

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