Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Word > Contribuez

Réponse
 
Outils de la discussion
Vieux 24/08/2008, 10h24   #1 (permalink)
Modérateur
 
Avatar de ouskel'n'or
 
Date d'inscription: février 2005
Localisation: Une petite rue qui "avait" un merle
Messages: 11 574
Par défaut Sélectionner une page précise & Copie - Explications

Trois conditions peuvent se rencontrer :
- La page demandée n'existe pas,
- La page demandée existe et ce n'est pas la dernière du document
- La page demandée est la dernière du document

Le code :
Code :
Sub SelectionDePage(NoPage As Integer)
Dim Nb As Integer
    Nb = Selection.Information(wdNumberOfPagesInDocument)
    If NoPage > Nb Then
        MsgBox "Page " & NoPage & " demandée." & vbCr & _
           "Votre document ne comporte que " & _
           Selection.Information(wdNumberOfPagesInDocument) & _
           " pages.", 0, "PAGE DEMANDÉE INEXISTANTE"
        Exit Sub
    End If
    With Selection
        .GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=NoPage
        .ExtendMode = True
        If NoPage < Nb Then
            .GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=NoPage + 1
        Else
            .EndKey Unit:=wdStory
        End If
    End With
    Selection.Copy
End Sub
Explications :
Code :
Sub SelectionDePage(NoPage As Integer)
Dim Nb As Integer
    'Pour connaître le nombre de pages
    Nb = Selection.Information(wdNumberOfPagesInDocument)
 
    'Si la page n'existe pas, on le dit et on sort
    If NoPage > Selection.Information(wdNumberOfPagesInDocument) Then
        Msgbox "Page " & NoPage & " demandée." & vbcr & _
           "Votre document ne comporte que " & _
           Selection.Information(wdActiveEndPageNumber)  & _
           "pages.",0,"PAGE DEMANDÉE INEXISTANTE"
        Exit sub
    Endif
 
    With Selection
 
        'Conduit au début de la page NoPage
        .GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=NoPage
 
        'Active le mode de sélection étendu 
        .ExtendMode = True
        
        'Si la Page n'est pas la dernière, la sélection s'étendra à la page suivante...
        If NoPage < Nb Then
            .GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=NoPage + 1
 
           'Si la Page est la dernière, la sélection s'étendra à la fin du document            
           Else 
            .EndKey Unit:=wdStory
        End If
    End With
 
    'Copie de la page
    Selection.Copy
End Sub
Appel de la procédure :
Code :
Sub appel() 'la procédure est appelée avec le paramètre NoPage
     SelectionDePage InputBox("Saisir le N° de page", "")
End Sub
__________________
Je...ne...réponds...pas....aux...questions...techniques... par...mp
La recherche (VBA-E) : Le Forum, La FAQ, Les cours et tutoriels, Contribuez, Les Sources et... l'Aide en ligne !!!

Dernière modification par ouskel'n'or ; 27/08/2008 à 09h11
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Word > Contribuez

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 05h25.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2008 www.developpez.com - Legal informations