Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/01/2012, 16h41   #1
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Par défaut Déselectionner page word

Bonjour à tous,

J'utilise le code suivant :

Code :
1
2
3
4
 ActivePrinter = "HP Officejet Pro K550 Series"
           Application.DisplayAlerts = wdAlertsNone
    Selection.WholeStory
    Selection.Range.HighlightColorIndex = wdNoHighlight
La page reste sélectionnée.
Comment la "dé-sélectionner en sortie de macro?"

Merci de votre aide,
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 17h30   #2
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 597
Points : 1 597
Envoyer un message via MSN à carden752
Bonjour,

Que veux-tu faire, remettre le curseur en haut du document? Voici une solution par exemple
Code :
selection.homekey unit:=wdstory
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/01/2012, 18h04   #3
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Bonsoir,
Merci de ta réponse,

Je ne veux pas placer le curseur au début du document mais à l'endroit où il était avant la sélection.
Merci de ton aide,
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 18h19   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 343
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 343
Points : 29 254
Points : 29 254
Salut,

Si tu ne mémorises pas la position de la sélection, ce ne sera pas possible.

Il faut ajouter un signet et déplacer la sélection sur ce signet.

Code :
1
2
3
4
5
Selection.Bookmarks.Add Name:="S1", Range:=Selection.Range
...
...
 
ActiveDocument.Bookmarks("S1").Range.Select
__________________
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/01/2012, 18h58   #5
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Merci de ta réponse Heureux Oli,

Et juste dé-sélectionner la page est-ce possible?
par exemple comme si j'appuyais sur la touche echap du clavier

par exemple :
Code :
1
2
3
4
5
ActivePrinter = "HP Officejet Pro K550 Series"
           Application.DisplayAlerts = wdAlertsNone
    Selection.WholeStory
    Selection.Range.HighlightColorIndex = wdNoHighlight
 Selection=none
Merci
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 19h47   #6
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 597
Points : 1 597
Envoyer un message via MSN à carden752
Bonjour,

Peut-être utiliser la méthode moveLeft de l'objet selection avec wdmove comme paramètre.
Code :
Selection.MoveLeft unit:=wdCharacter, Count:=1, Extend:=wdMove
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/01/2012, 21h23   #7
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Citation:
Envoyé par carden752 Voir le message
Bonjour,

Peut-être utiliser la méthode moveLeft de l'objet selection avec wdmove comme paramètre.
Code :
Selection.MoveLeft unit:=wdCharacter, Count:=1, Extend:=wdMove
Merci de ta réponse,

J'ai testé ton code, ça dé-sélectionne mais place le curseur au début du fichier.

J'ai opté pour la méthode de Oli :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub IMPRIMER1()
 
          ActivePrinter = "HP Officejet Pro K550 Series"
          Application.DisplayAlerts = wdAlertsNone
         With ActiveDocument.Bookmarks
        .Add Range:=Selection.Range, Name:="Positioncurseur1"
        .DefaultSorting = wdSortByName
        .ShowHidden = False
    End With
 
    Selection.WholeStory
    Selection.Range.HighlightColorIndex = wdNoHighlight
    Selection.GoTo What:=wdGoToBookmark, Name:="Positioncurseur1"
    Selection.Find.ClearFormatting
 
 
       Application.PrintOut FileName:="", Range:=wdPrintCurrentPage, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
 
 
End Sub
Merci beaucoup pour votre aide.
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 02h57   #8
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut tom0ne,

Ton code me parait très étrange. Tu utilises des fonctions qui n'ont aucun impact sur le document ou qui sont directement disponible. Par exemple, tu utilises "Selection.WholeStory" qui sélectionne tout le document et tu fais un "PrintOut" avec l'option "Range=wdPrintCurrentPage", pourquoi ne pas faire directement un PrintOut avec l'option "Range=wdPrintAllDocument" et du coup tu n'as de sélection à faire ni de déplacement de curseur et donc encore de remplacement à faire.

En plus si ce que nous décrit correspond à tes attentes, ta macro n'y répond pas, car elle n'imprime pas une page mais bien le document complet. Comme je me doute que tes documents que tu imprimes avec ta macro font une seule page, le résultat semble le même mais ce n'est pas le cas, ta macro imprime (de façon un peu complexe) le document. Maintenant c'est peut-être ce que tu veux mais dans ce cas, "wdPrintAllDocument" va résoudre tous tes problèmes.

Tiens-nous au courant.

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 13h03   #9
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
@Sépia,

Salut,
Merci de ta réponse,

1- J'active l'imprimante sans les alertes et je crée un signet dans la page ou je me trouve
Code :
1
2
3
4
5
6
7
8
9
Sub IMPRIMER1()
 
          ActivePrinter = "HP Officejet Pro K550 Series"
          Application.DisplayAlerts = wdAlertsNone
         With ActiveDocument.Bookmarks
        .Add Range:=Selection.Range, Name:="Positioncurseur1"
        .DefaultSorting = wdSortByName
        .ShowHidden = False
    End With
2- je sélectionne tout le document et j’enlève le surlignage marqueur, (il est vrai que je pourrai ne supprimer le sur lignage que de la page à imprimer mais je n'ai pas trouvé comment faire)
Code :
1
2
3
4
 
 
    Selection.WholeStory
    Selection.Range.HighlightColorIndex = wdNoHighlight
3- je me dirige vers le signet crée en 1 et j'imprime la page en cours
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
    Selection.GoTo What:=wdGoToBookmark, Name:="Positioncurseur1"
    Selection.Find.ClearFormatting
 
       Application.PrintOut FileName:="", Range:=wdPrintCurrentPage, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
 
 
End Sub
Je ne sais pas si c'est correctement codé mais ça marche
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 03h12   #10
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut tom0ne,

Oui ça marche mais c'est compliqué, c'était pour simplifier. Mais ce n'est pas grave en soi.

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h49.


 
 
 
 
Partenaires

Hébergement Web