Afficher un fichier JPG sans spécifier complètement le nom
Bonjour à tous,
Je suis de nouveau ici pour vous demander de l'aide, mais excusez-moi d'avance pour le mode de questionnement que je vais utiliser, car je ne sais pas très bien formuler de manière claire et en langage VBA ce que je veux. Mais je vais essayer.
Dans une ou plusieurs cellules j'écris le mot "Facture Docteur Machin 1", dans une autre j'écris "Facture Docteur Machin 2" ou voir, dans la même cellule j'écris "Facture Docteur Machin 5" et "Facture Docteur Machin 6"
En cliquant sur le mot ou dans la cellule, je voudrais pouvoir ouvrir exactement la facture souhaité.
J'ai pour cela déjà une feuille nommé "Liste" avec les adresses ou se trouvent les Dossiers contenant les fichiers en question.
Je voudrais, bien-sûr, éviter de devoir spécifier dans cette liste tous les fichiers par leurs noms complets. Il suffirait que j'y indique "Facture Docteur Machin" et selon le texte écrit dans la cellule à la page "EXAMENS", il doit s'affiche la facture en question.
Je joins ici le fichier avec le détail de ce que je voudrais avoir, en espérant que ce sera un peu plus clair.
Je vous remercie d'avance à tous, vous m'avez déjà beaucoup aidé et notamment Banzai64.
Bonjour
Le plus pratique c'est que tu te serves du nom dans le label pour appeler le fichier : Conséquence la colonne 3 de la feuille "Liste ne sera plus utile
Mais c'est toi qui décide
Ajoutes les lignes surlignées
Enlèves les lignes surlignées
Private Sub Banzai64_Click()
Dim Nom As String
Nom = Split(Banzai64.Caption, " ")(0)
With Sheets("Liste")
Set Cel = .Columns("A").Find(what:=Nom, LookIn:=xlValues, lookat:=xlWhole)
If Not Cel Is Nothing Then
MsgBox Cel.Offset(0, 1) & Trim(Banzai64.Caption) & " " & Range("A" & ActiveCell.Row) & Cel.Offset(0, 3)
ThisWorkbook.FollowHyperlink Address:=Cel.Offset(0, 1) & Trim(Banzai64.Caption) & " " & Range("A" & ActiveCell.Row) & Cel.Offset(0, 3), NewWindow:=True
[surligner=#FFFF80]'MsgBox Cel.Offset(0, 1) & Trim(Cel.Offset(0, 2)) & " " & Range("A" & ActiveCell.Row) & Cel.Offset(0, 3)
[surligner=#FFFF80]'ThisWorkbook.FollowHyperlink Address:=Cel.Offset(0, 1) & Trim(Cel.Offset(0, 2)) & " " & Range("A" & ActiveCell.Row) & Cel.Offset(0, 3), NewWindow:=True
'Range("A1").Select
Unload UserForm1
End If
End With
End Sub
Résultats obtenus
F:\EXCEL\Dossier MEDICAL\ORDONNANCES\Ordonnance D.Artichaut.pdf
F:\EXCEL\Dossier MEDICAL\FACTURES\Facture 2 D.Artichaut.jpg
F:\EXCEL\Dossier MEDICAL\FACTURES\Facture 3 D.Artichaut.jpg
F:\EXCEL\Dossier MEDICAL\FACTURES\Facture 1 D.Artichaut.jpg
Banzai64 a écrit :Ajoutes les lignes surlignées
Enlèves les lignes surlignées
Private Sub Banzai64_Click() Dim Nom As String Nom = Split(Banzai64.Caption, " ")(0) With Sheets("Liste") Set Cel = .Columns("A").Find(what:=Nom, LookIn:=xlValues, lookat:=xlWhole) If Not Cel Is Nothing Then MsgBox Cel.Offset(0, 1) & Trim(Banzai64.Caption) & " " & Range("A" & ActiveCell.Row) & Cel.Offset(0, 3) ThisWorkbook.FollowHyperlink Address:=Cel.Offset(0, 1) & Trim(Banzai64.Caption) & " " & Range("A" & ActiveCell.Row) & Cel.Offset(0, 3), NewWindow:=True [surligner=#FFFF80]'MsgBox Cel.Offset(0, 1) & Trim(Cel.Offset(0, 2)) & " " & Range("A" & ActiveCell.Row) & Cel.Offset(0, 3) [surligner=#FFFF80]'ThisWorkbook.FollowHyperlink Address:=Cel.Offset(0, 1) & Trim(Cel.Offset(0, 2)) & " " & Range("A" & ActiveCell.Row) & Cel.Offset(0, 3), NewWindow:=True 'Range("A1").Select Unload UserForm1 End If End With End Sub
Eh bien, on y arrive.
ça marche parfaitement.
Merci mille fois Banzai64