Activation du document Word ouvert

Résolu
Bonjour à tous
J'ai créé ce code afin de pouvoir selectionner tous les documents souhaités, d'ouvrir leur lien Hypertexte et d'imprimer ces documents. Avec ce code j'arrive à ouvrir tous les documents et à imprimer tous les documents Excel. Mais je n'arrive pas à activer les documents Word. En effet je ne connais que workbook.activate ou Worksheet.activate, mais je n'ai rien trouvé pour activer le dernier document ouvert (donc word et pdf ne s'imprime pas). Une fonction ActiveDocument existe-t'elle? Ou une activation automatique du lien hypertexte suivi?

Ci joint mon code :

Sub Impression()
Dim a As Range

For Each a In Range("J12:J85")
If a.Value = "X" Then 'On regarde si la case est cochée
If a.Offset(0, -7).Hyperlinks.Count = 0 Then 'On vérifie qu'un lien existe sur cette cellule
GoTo Lastline
Else
Application.DisplayAlerts = False
a.Offset(0, -7).Select
Selection.Hyperlinks(1).Follow 'On ouvre le lien hypertexte
ActiveWorkbook.Application.Dialogs(xlDialogPrint).Show
ActiveWorkbook.Close False
Application.DisplayAlerts = True
End If
Else
GoTo Lastline
End If
Lastline:
Next

MsgBox ("L'impression est terminée")
End Sub

Merci pour vos réponses

4 réponses

  1. Bonjour, et merci pour votre réponse.
    Hélas je n'ai pas réussi à trouver mon bonheur dans votre lien. En fait je voudrais une fonction vba qui selectionne automatiquement le lien suivi par hypertexte, qu'il soit excel,word ou pdf. Avez-vous des idées?
    1. Contributeur
      Voilà les codes pour Word et PDF, a adapter les cellules des liens hypertextes :

      Option Explicit
       Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
      'Doc Word
      Private Sub CommandButton1_Click()
       'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
        Range("A1").Select 'lien hypertexte
          Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
         ActiveDocument.PrintPreview
        Dialogs(wdDialogFilePrintSetup).Show
      End Sub
      'PDF
      Private Sub CommandButton2_Click()
      Dim fich As String
      Dim x, rep
      Range("A3").Select 'lien hypertexte
      fich = Range("A3").Value 'chemin fichier
          Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
           rep = ShellExecute(0, "open", fich, "", "", 0)
           
       '====================================  Ordre d'impression
          ShellExecute x, "print", fich, "", "", 1
       ' ====================================
      End Sub