Activation du document Word ouvert

Résolu
Del Pino -  
 Del Pino -
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. Del Pino
     
    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?
    0
  2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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
    

    0
  3. Del Pino
     
    Super, merci beaucoup pour votre aide!

    Del Pino
    0