Impression d'un fichier par le biais de l'hypertex

  • Initiateur de la discussion Mike
  • Date de début
M

Mike

Guest
Bonjour à tous et à toutes,
un titre compliqué pour une question simple, de toute façon j'ai remarqué que les sujets intriguants sont plus lus que les autres et donc plus de chance de réponses, yek, yek :eek:

Non blague à part, voici mon souci, j'ai des liens hypertextes dans un fichier excel qui me renvoient à des pages word, mon problème est que pour imprimer ces pages je suis obligé de les ouvrir une à une.
N'y aurait-il pas une solution pour que mon ami excel (ou plutôt le votre dans le cas présent) effectue l'impression par le biais du lien sans ouverture préalable.

Merci à tous et bonne soirée

Mike
 

MichelXld

XLDnaute Barbatruc
bonsoir Mike

cette procedure permet de boucler sur tous les liens de la feuille active
si le lien correspond a un document Word , il est ouvert , imprimé puis refermé

je ne sais pas si cela fonctionne avec un nombre de liens Word important


Code:
Sub imprimerLiens_DocWord()
'necessite d'activer la reference Microsoft Word xx.x Object Library
Dim WordApp As Word.Application
Dim WordDoc As Word.document
Dim Lien As Hyperlink
Dim leNom As String

Application.ScreenUpdating = False

'boucle sur les liens de la feuille active
For Each Lien In ActiveSheet.Hyperlinks
leNom = Range(Lien.Range.Address).Hyperlinks(1).Address
'verifie si le lien est un document Word
If Right(leNom, 4) = '.doc' Then

    Set WordApp = New Word.Application 'ouverture session Word
    WordApp.Visible = False
    Set WordDoc = WordApp.Documents.Open(leNom) 'ouverture document Word
    WordDoc.PrintOut 'impression
    WordDoc.Close 'fermeture document
    WordApp.Quit ' fermeture session word

End If
Next

Application.ScreenUpdating = True
End Sub



bonne soiree
MichelXld
 
M

Mike

Guest
Bonjour à tous, bonjour michel xld.
j'ai copier ta formule dans workbook.
il ouvre le lien mais ne l'imprime pas, :unsure: , le moins que l'on puisse dire est que je ne suis pas doué, peux-tu me conseiller à nouveau pour l'application de ta macro.
merci

bonne journée à tous

mike
 

MichelXld

XLDnaute Barbatruc
bonjour Mike

je viens de refaire un test : l'impression des documentsWord est effectuée sans probleme

çà n'a rien a voir avec ton soucis , mais pour que les minuscules et les majuscules soient prises en compte lors de la recherche (.doc et .DOC ) , tu peux ajouter tout en haut du module :

Option Compare Text



bon apres midi
MichelXld
 

N_Christian

XLDnaute Occasionnel
Bonjour Michel,
j'ai essayé ta macro pour imprimer les liens c'est super en ce qui concerne word. il faut attendre un peu avant de fermer Word sinon le fichier en cours n'est pas imprimer 'une tache d'impression est en cours si vous fermer maintenant l'impression est perdue' message dans le genre....

je peux imprimer avec un nom de fichier contenu dans une cellule. (style TreeView). As-tu une variante si les fichiers sont indifféremment *.xls *.doc ou *.pdf.

cela revient à imprimer une liste de fichiers.....je ne trouve pas grand chose de simple sauf tester tous les fichiers les uns aprés les autres.

merci de ton aide ( si tu as cinq minutes bien sur )

Amicalement Christian
 

MichelXld

XLDnaute Barbatruc
bonjour Christian

je n'ai pas réussis à reproduire le message d'attente lors de l'impression des documents Word , mais tu peux essayer en insérant un DoEvent

...
WordDoc.PrintOut 'impression
DoEvents
WordDoc.Close 'fermeture document
...


ci joint un exemple pour les classeurs Excel

Sub imprimerPageActiveEt_LiensClasseurs()
'Imprimer la page active et les tous les classeurs liés'
Dim Lien As Hyperlink
Dim I As Byte
Application.ScreenUpdating = False
ActiveSheet.PrintOut
For Each Lien In ActiveSheet.Hyperlinks
If Right(Range(Lien.Range.Address).Hyperlinks(1).Address, 4) = '.xls' Then
Range(Lien.Range.Address).Hyperlinks(1).Follow NewWindow:=False
For I = 1 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(I).PrintOut
Next I
ActiveWorkbook.Close
End If
Next
Application.ScreenUpdating = True
End Sub


si tu sais déterminer le type de fichier (doc , xls ) dans ta cellule , tu choisis la methode qui t'interesse en adaptant les procedures


par contre je ne sais pas comment imprimer un fichier pdf , c'est peut etre possible grace à la fonction Shell , mais je n'ai jamais testé


bonne soiree
MichelXld
 

gringoh

XLDnaute Junior
Re:Impression d'un fichier par le biais de l'hyper

Bonjour,

Je relance le sujet sur l’impression des liens hypertextes présent dans une feuille excel. Lorsque j’applique la macro, elle bug sur le nom du fichier (erreur 5174 – Fichier introuvable). J’ai essayer plusieurs manip sans résultat ?

J’ai fais un copier // coller de la macro, mais a priori le lien hypertexte n’est pas trouvé. Cette macro ce réfère à quel type de liens hypertextes ? Ceux créer par le biais d’une formule =lien_hypertexte, ou ceux créer avec un bouton droit « Liens hypertextes » ?

Merci d’avance pour votre aide…

GringoH
 

gringoh

XLDnaute Junior
Re:Impression d'un fichier par le biais de l'hyper

Problème résolu,

En fait à chaque fois que je déclarais un lien hypertexte exemple : c:\\divers\\test\\test.doc, et bien lors de l’enregistrement le lien se transformait en ..\\..\\test.doc.

Je ne sais pas si au final ce problème concerne ou a concerné beaucoup de monde, mais j’ai trouvé la solution sur un forum, je tenais à le signaler, ainsi qu'a en donner la solution.
La procédure à suivre est la suivante:
1°) Ouvrir Excel
2°) Cliquer dans Outils Options
3°) Cliquer sur l’onglet Général. Cliquer sur la case option Web.
4°) Cliquer sur L’onglet Fichier et décocher la case « Mettre à jour les liens lors de l’enregistrement. »

Et ainsi, le lien fonctionne correctement.
Merci à ceux qui ont tenté de m'aider.

GringoH
 

N_Christian

XLDnaute Occasionnel
Re:Impression d'un fichier par le biais de l'hyper

Bonjour à tous ceux qui partagent ici leurs découvertes sur Excel. pour ma part je n'ai pas réussi à imprimer un Pdf.
Par contre j'ai enregistré le Pdf sous Jpeg. c'est possible avec la Cde enregistrer sous.
Après ça, j'ai inséré cette image dans un fichier Word. pas très technique mais Acrobat est un peu fermé pour mé..!
Si vous avez une piste. ( J'ai essayé avec la Cde Shell comme supposait Michel ..... pas réussi mon coup..)

Attention, la Cde DoEvents aprés le print n'est pas toujours efficace. ( j'ai une boucle qui imprime plusieurs fichiers xls ou doc) aprés 5 ou 6 fichiers doc la routine renvoi un code erreur. )

Bonne continuation et encore merci pour ce forum :p
Christian
 

Discussions similaires

Réponses
7
Affichages
656

Statistiques des forums

Discussions
312 304
Messages
2 087 070
Membres
103 453
dernier inscrit
Choupi