Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Image issue de l'appareil photo dans un commentaire

4 réponses
Avatar
Patrick BASTARD
Bonsoir, toutes et tous.

Insérer une image dans un commentaire, je sais faire, à condition de
connaitre le chemin de l'image.
Ce que je cherche à faire, c'est insérer dans un commentaire une image
*issue de l'appareil photo d'Excel*

Est-ce possible, et si oui, comment ?

Merci d'avance pour vos suggestions,

--
Bien amicordialement,
P. Bastard

4 réponses

Avatar
Patrick BASTARD
Bonsoir, toutes et tous.

Je me permets de relancer ce post de mercredi qui semble être passé
inaperçu...
... A moins qu'il n'inspire personne, ou que cette demande ne soit
totalement utopique ?

Le but : mettre en commentaire dans des cellules des extraits d'un tableau
de bord qualité (Excel), pour avoir une vue synthétique des diverses
incidences de cette action dans le temps.

Insérer une image dans un commentaire, je sais faire, à condition de
connaitre le chemin de l'image.
Ce que je cherche à faire, c'est insérer dans un commentaire une image
*issue de l'appareil photo d'Excel*

Est-ce possible, et si oui, comment ?

Merci d'avance pour vos suggestions, ou pour tout commentaire que vous

penseriez utile.


--
Bien amicordialement,
P. Bastard

Avatar
Pounet95
Bonjour Patrick,

Problème presque similaire à celuique j'ai eu vers le 20 janvier et
pour lequel tu m'avais répondu ..... em demandant d'oublier ta réponse
ensuite ;o)))

Je ne sais pas si ça pourra te dépanner, mais avec ce code récupéré
sur le site de Laurent Longres, peut-être qu'en adaptant ....?


'Dans un Module standard

Private Declare Function GetTempFileNameA Lib "Kernel32" _
(ByVal lpszPath As String, ByVal lpPrefixString As String, _
ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
Private Declare Function OpenClipboard Lib "User32" _
(ByVal hwnd As Long) As Long
Private Declare Function CloseClipboard Lib "User32" () As Long
Private Declare Function GetClipboardData Lib "User32" _
(ByVal uFormat As Long) As Long
Private Declare Function CopyEnhMetaFileA Lib "Gdi32" _
(ByVal hemfSrc As Long, ByVal lpszFile As String) As Long
Private Declare Function DeleteEnhMetaFile Lib "Gdi32" _
(ByVal hdc As Long) As Long

Function FichierTemp(Optional ByVal Chemin As String) As String
If Chemin = "" Then Chemin = Environ("TMP")
FichierTemp = Space$(160)
GetTempFileNameA Chemin, "", 0, FichierTemp
FichierTemp = Left$(FichierTemp, InStr(FichierTemp, vbNullChar) - 1)
End Function

Function CopieFichierEMF(Objet As Object, _
Optional NomFichier, Optional Apparence, _
Optional Format, Optional Taille) As String
If IsMissing(NomFichier) Then CopieFichierEMF = FichierTemp _
Else CopieFichierEMF = NomFichier
If TypeName(Objet) <> "Chart" Then Objet.CopyPicture Apparence, Format _
Else Objet.CopyPicture Apparence, Format, Taille
OpenClipboard 0
If DeleteEnhMetaFile(CopyEnhMetaFileA(GetClipboardData(14), _
CopieFichierEMF)) = 0 Then CopieFichierEMF = ""
CloseClipboard
End Function

Sub Exporte()
' Exportation de la sélection active dans un fichier image .emf
Dim FichierEMF, Rep As Long
Do
FichierEMF = Application.GetSaveAsFilename("Test", _
"Fichiers emf (*.emf),*.emf", , "Exportation sous")
If VarType(FichierEMF) = vbBoolean Then Exit Sub
If Dir$(FichierEMF) <> "" Then
Rep = MsgBox("Le fichier " & FichierEMF & " existe déjà. " _
& "Désirez-vous le remplacer ?", vbYesNoCancel + vbQuestion)
If Rep = vbCancel Then Exit Sub
If Rep = vbYes Then
Kill FichierEMF
Exit Do
End If
End If
Loop
If CopieFichierEMF(Selection, FichierEMF) = "" Then
MsgBox "Erreur !", vbCritical
Else
MsgBox "Sélection copiée dans le fichier" & FichierEMF & " ."
End If
End Sub

' C'est la recopie de la zone dans un userform mais comme tu sais
' insérer dans un commentaire une image, peut-être que

Private Sub UserForm_Initialize()
Dim FichierTemp As String
Dim Tableau As Range
' Copie de la plage A1:C10 dans le fichier temporaire FichierTemp
Set Tableau = Sheets("Stats").Range("G1:P11")
FichierTemp = CopieFichierEMF(Tableau)

' Copie de l'image contenue par FichierTemp dans le contrôle Image1
Image1.Picture = LoadPicture(FichierTemp)

' là ton code à la place de Image1.picture


' Destruction du fichier temporaire
Kill FichierTemp
End Sub

En espérant t'avoir aidé.
Bonne journée
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Patrick BASTARD" a écrit dans le
message de news:
Bonsoir, toutes et tous.

Je me permets de relancer ce post de mercredi qui semble être passé
inaperçu...
... A moins qu'il n'inspire personne, ou que cette demande ne soit
totalement utopique ?

Le but : mettre en commentaire dans des cellules des extraits d'un tableau
de bord qualité (Excel), pour avoir une vue synthétique des diverses
incidences de cette action dans le temps.

Insérer une image dans un commentaire, je sais faire, à condition de
connaitre le chemin de l'image.
Ce que je cherche à faire, c'est insérer dans un commentaire une image
*issue de l'appareil photo d'Excel*

Est-ce possible, et si oui, comment ?

Merci d'avance pour vos suggestions, ou pour tout commentaire que vous

penseriez utile.


--
Bien amicordialement,
P. Bastard




Avatar
Patrick BASTARD
Bonjour, *Pounet95*

Merci d'avoir réagi.
"Y'en a au moins un qui suit"
;-)

Compte tenu de mon piètre niveau en VBA, (mais je continue à me soigner) le
code que tu as la gentillesse de me communiquer dépasse, et de loin, les
limites de mon entendement :-(
Je vais cependant essayer de bidouiller, et de toute manière, conserve ce
code pour le jour ou je pourrai le comprendre.

J'avais naïvement espéré qu'une astuce aurait échappé à ma recherche, et que
le tour était dans le sac en deux coups de cuiller à pot (ou l'affaire dans
la poche en deux clics de mulot).

Optimiste naïf je reste, dans l'attente d'autres idées plus à la portée de
l'unique neurone qui s'ennuie dans ma boîte crânienne.

Bon week-end, *Pounet95* et encore : merci.

--
Bien amicordialement,
P. Bastard



Bonjour Patrick,

Problème presque similaire à celuique j'ai eu vers le 20 janvier et
pour lequel tu m'avais répondu ..... em demandant d'oublier ta réponse
ensuite ;o)))

Je ne sais pas si ça pourra te dépanner, mais avec ce code récupéré
sur le site de Laurent Longres, peut-être qu'en adaptant ....?


'Dans un Module standard

Private Declare Function GetTempFileNameA Lib "Kernel32" _
(ByVal lpszPath As String, ByVal lpPrefixString As String, _
ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
Private Declare Function OpenClipboard Lib "User32" _
(ByVal hwnd As Long) As Long
Private Declare Function CloseClipboard Lib "User32" () As Long
Private Declare Function GetClipboardData Lib "User32" _
(ByVal uFormat As Long) As Long
Private Declare Function CopyEnhMetaFileA Lib "Gdi32" _
(ByVal hemfSrc As Long, ByVal lpszFile As String) As Long
Private Declare Function DeleteEnhMetaFile Lib "Gdi32" _
(ByVal hdc As Long) As Long

Function FichierTemp(Optional ByVal Chemin As String) As String
If Chemin = "" Then Chemin = Environ("TMP")
FichierTemp = Space$(160)
GetTempFileNameA Chemin, "", 0, FichierTemp
FichierTemp = Left$(FichierTemp, InStr(FichierTemp, vbNullChar) -
1) End Function

Function CopieFichierEMF(Objet As Object, _
Optional NomFichier, Optional Apparence, _
Optional Format, Optional Taille) As String
If IsMissing(NomFichier) Then CopieFichierEMF = FichierTemp _
Else CopieFichierEMF = NomFichier
If TypeName(Objet) <> "Chart" Then Objet.CopyPicture Apparence,
Format _ Else Objet.CopyPicture Apparence, Format, Taille
OpenClipboard 0
If DeleteEnhMetaFile(CopyEnhMetaFileA(GetClipboardData(14), _
CopieFichierEMF)) = 0 Then CopieFichierEMF = ""
CloseClipboard
End Function

Sub Exporte()
' Exportation de la sélection active dans un fichier image .emf
Dim FichierEMF, Rep As Long
Do
FichierEMF = Application.GetSaveAsFilename("Test", _
"Fichiers emf (*.emf),*.emf", , "Exportation sous")
If VarType(FichierEMF) = vbBoolean Then Exit Sub
If Dir$(FichierEMF) <> "" Then
Rep = MsgBox("Le fichier " & FichierEMF & " existe déjà. " _
& "Désirez-vous le remplacer ?", vbYesNoCancel + vbQuestion)
If Rep = vbCancel Then Exit Sub
If Rep = vbYes Then
Kill FichierEMF
Exit Do
End If
End If
Loop
If CopieFichierEMF(Selection, FichierEMF) = "" Then
MsgBox "Erreur !", vbCritical
Else
MsgBox "Sélection copiée dans le fichier" & FichierEMF & " ."
End If
End Sub

' C'est la recopie de la zone dans un userform mais comme tu sais
' insérer dans un commentaire une image, peut-être que

Private Sub UserForm_Initialize()
Dim FichierTemp As String
Dim Tableau As Range
' Copie de la plage A1:C10 dans le fichier temporaire FichierTemp
Set Tableau = Sheets("Stats").Range("G1:P11")
FichierTemp = CopieFichierEMF(Tableau)

' Copie de l'image contenue par FichierTemp dans le contrôle Image1
Image1.Picture = LoadPicture(FichierTemp)

' là ton code à la place de Image1.picture


' Destruction du fichier temporaire
Kill FichierTemp
End Sub

En espérant t'avoir aidé.
Bonne journée

"Patrick BASTARD" a écrit dans le
message de news:
Bonsoir, toutes et tous.

Je me permets de relancer ce post de mercredi qui semble être passé
inaperçu...
... A moins qu'il n'inspire personne, ou que cette demande ne soit
totalement utopique ?

Le but : mettre en commentaire dans des cellules des extraits d'un
tableau de bord qualité (Excel), pour avoir une vue synthétique des
diverses incidences de cette action dans le temps.

Insérer une image dans un commentaire, je sais faire, à condition de
connaitre le chemin de l'image.
Ce que je cherche à faire, c'est insérer dans un commentaire une
image *issue de l'appareil photo d'Excel*

Est-ce possible, et si oui, comment ?

Merci d'avance pour vos suggestions, ou pour tout commentaire que

vous penseriez utile.


--
Bien amicordialement,
P. Bastard





Avatar
Patrick BASTARD
Re, *Pounet95*

Ce code brut, non épuré, et issu de l'enregistreur copie le fichier créé
grâce à ta suggestion dans le commentaire de la C16 en feuil1.

Range("E10:E20").Select
Selection.Copy
Application.CutCopyMode = False
*Application.Run "Classeur1!Exporte"*
Sheets("Feuil1").Select
Range("C16").Comment.Shape.Select True
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
Selection.ShapeRange.Fill.BackColor.SchemeColor = 80
Selection.ShapeRange.Fill.UserPicture _
"C:Documents and SettingsPatrickMes documents1 PB1
tempTest.emf"

Reste à voir si et comment il serait possible de :
1°- conserver les proportions de l'image copiée, qui a une fâcheuse tendance
à prendre toute la place
2° - ou dimensionner le commentaire en fonction de la taille de l'image.

Mon neurone te remercie.


--
Bien amicordialement,
P. Bastard


Bonjour Patrick,

Problème presque similaire à celuique j'ai eu vers le 20 janvier et
pour lequel tu m'avais répondu ..... em demandant d'oublier ta réponse
ensuite ;o)))

Je ne sais pas si ça pourra te dépanner, mais avec ce code récupéré
sur le site de Laurent Longres, peut-être qu'en adaptant ....?


'Dans un Module standard

Private Declare Function GetTempFileNameA Lib "Kernel32" _
(ByVal lpszPath As String, ByVal lpPrefixString As String, _
ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
Private Declare Function OpenClipboard Lib "User32" _
(ByVal hwnd As Long) As Long
Private Declare Function CloseClipboard Lib "User32" () As Long
Private Declare Function GetClipboardData Lib "User32" _
(ByVal uFormat As Long) As Long
Private Declare Function CopyEnhMetaFileA Lib "Gdi32" _
(ByVal hemfSrc As Long, ByVal lpszFile As String) As Long
Private Declare Function DeleteEnhMetaFile Lib "Gdi32" _
(ByVal hdc As Long) As Long

Function FichierTemp(Optional ByVal Chemin As String) As String
If Chemin = "" Then Chemin = Environ("TMP")
FichierTemp = Space$(160)
GetTempFileNameA Chemin, "", 0, FichierTemp
FichierTemp = Left$(FichierTemp, InStr(FichierTemp, vbNullChar) -
1) End Function

Function CopieFichierEMF(Objet As Object, _
Optional NomFichier, Optional Apparence, _
Optional Format, Optional Taille) As String
If IsMissing(NomFichier) Then CopieFichierEMF = FichierTemp _
Else CopieFichierEMF = NomFichier
If TypeName(Objet) <> "Chart" Then Objet.CopyPicture Apparence,
Format _ Else Objet.CopyPicture Apparence, Format, Taille
OpenClipboard 0
If DeleteEnhMetaFile(CopyEnhMetaFileA(GetClipboardData(14), _
CopieFichierEMF)) = 0 Then CopieFichierEMF = ""
CloseClipboard
End Function

Sub Exporte()
' Exportation de la sélection active dans un fichier image .emf
Dim FichierEMF, Rep As Long
Do
FichierEMF = Application.GetSaveAsFilename("Test", _
"Fichiers emf (*.emf),*.emf", , "Exportation sous")
If VarType(FichierEMF) = vbBoolean Then Exit Sub
If Dir$(FichierEMF) <> "" Then
Rep = MsgBox("Le fichier " & FichierEMF & " existe déjà. " _
& "Désirez-vous le remplacer ?", vbYesNoCancel + vbQuestion)
If Rep = vbCancel Then Exit Sub
If Rep = vbYes Then
Kill FichierEMF
Exit Do
End If
End If
Loop
If CopieFichierEMF(Selection, FichierEMF) = "" Then
MsgBox "Erreur !", vbCritical
Else
MsgBox "Sélection copiée dans le fichier" & FichierEMF & " ."
End If
End Sub

' C'est la recopie de la zone dans un userform mais comme tu sais
' insérer dans un commentaire une image, peut-être que

Private Sub UserForm_Initialize()
Dim FichierTemp As String
Dim Tableau As Range
' Copie de la plage A1:C10 dans le fichier temporaire FichierTemp
Set Tableau = Sheets("Stats").Range("G1:P11")
FichierTemp = CopieFichierEMF(Tableau)

' Copie de l'image contenue par FichierTemp dans le contrôle Image1
Image1.Picture = LoadPicture(FichierTemp)

' là ton code à la place de Image1.picture


' Destruction du fichier temporaire
Kill FichierTemp
End Sub

En espérant t'avoir aidé.
Bonne journée

"Patrick BASTARD" a écrit dans le
message de news:
Bonsoir, toutes et tous.

Je me permets de relancer ce post de mercredi qui semble être passé
inaperçu...
... A moins qu'il n'inspire personne, ou que cette demande ne soit
totalement utopique ?

Le but : mettre en commentaire dans des cellules des extraits d'un
tableau de bord qualité (Excel), pour avoir une vue synthétique des
diverses incidences de cette action dans le temps.

Insérer une image dans un commentaire, je sais faire, à condition de
connaitre le chemin de l'image.
Ce que je cherche à faire, c'est insérer dans un commentaire une
image *issue de l'appareil photo d'Excel*

Est-ce possible, et si oui, comment ?

Merci d'avance pour vos suggestions, ou pour tout commentaire que

vous penseriez utile.


--
Bien amicordialement,
P. Bastard