Bonjour, j'ai créé une macro me permettant de faire une copie d'une feuille excel et de l'enregistrer sur le dossier ou se trouve le fichier excel.
En revanche, je n'arrive pas à afficher l'image sur le même principe et ne pas mettre de chemin fixe car celui-ci évolue en fonction de l'endroit ou est enregistrer le fichier.
Merci de votre aide afin que je puisse le visualiser en lanceant la macro.
Bonne rentrée à tous
Sub CopieRangePicture_JPG()
Sheets("Photos").Select
Dim Gr As Object, Rg As Range, R$, N$, C$, PathFich$
R$ = "A1:E7" '< range de données
N$ = ActiveSheet.Range("A1") '< cell. avec nom du fich(sans point ni extension)
O$ = Worksheets("Réponse").Range("J7") '< cell. avec nom du fich(sans point ni extension)
P$ = Worksheets("Réponse").Range("J8") '< cell. avec nom du fich(sans point ni extension)
C$ = ActiveWorkbook.Path & "\" '< chemin avec \
' .
' suite exécution ...
Application.ScreenUpdating = False
PathFich$ = C$ & N$ & O$ & P$ & ".jpg"
' copie du range en image
Set Rg = ActiveSheet.Range(R$): Rg.CopyPicture xlScreen, xlPicture: DoEvents
' crée un graph pour accueillir l'image
Set Gr = ActiveSheet.ChartObjects.Add(0, 0, Rg.Width, Rg.Height): DoEvents
' active graph/copie l'image range dedans
Gr.Activate: ActiveChart.Paste: DoEvents
' exporte l'image sur disque
Gr.Chart.Export PathFich, "jpg": DoEvents
' delete graph et libère mémoire
Gr.Delete: Set Gr = Nothing
End Sub
Sub AffImage()
N$ = ActiveSheet.Range("A1") '< cell. avec nom du fich(sans point ni extension)
O$ = Worksheets("Réponse").Range("J7") '< cell. avec nom du fich(sans point ni extension)
P$ = Worksheets("Réponse").Range("J8") '< cell. avec nom du fich(sans point ni extension)
C$ = ActiveWorkbook.Path & "\" '< chemin avec \
PathFich$ = C$ & N$ & O$ & P$ & ".jpg"
End Sub