OVH Cloud OVH Cloud

inserer image

8 réponses
Avatar
Christian Raoux
Salut la liste

Je cherche à inserer une image dans une feuille excel

l'utilisateur doit cliquer sur bouton pour lancer une macro

avec : Application.Dialogs(xlDialogInsertPicture).Show

mais comment donner à l'image la taille voulue et sa position

merci d'avance

Christian

8 réponses

Avatar
sabatier
salut christian
tu as essayé de faire cela avec l'enregistreur de macros??
c'est un bon début, je pense
jps

Christian Raoux a écrit:
Salut la liste

Je cherche à inserer une image dans une feuille excel

l'utilisateur doit cliquer sur bouton pour lancer une macro

avec : Application.Dialogs(xlDialogInsertPicture).Show

mais comment donner à l'image la taille voulue et sa position

merci d'avance

Christian


Avatar
Christian Raoux
Oui mais pas bon
merci

christian


sabatier écrivait news:3FA35AB2.9030608
@wanadoo.fr:

salut christian
tu as essayé de faire cela avec l'enregistreur de macros??
c'est un bon début, je pense
jps

Christian Raoux a écrit:
Salut la liste

Je cherche à inserer une image dans une feuille excel

l'utilisateur doit cliquer sur bouton pour lancer une macro

avec : Application.Dialogs(xlDialogInsertPicture).Show

mais comment donner à l'image la taille voulue et sa position

merci d'avance

Christian






Avatar
Philippe.R
Bonjour Christian,

Tu peux regarder Excel et les images à cette adresse :

http://perso.wanadoo.fr/frederic.sigonneau/Excel.htm

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"Christian Raoux" a écrit dans le message de
news:
Oui mais pas bon
merci

christian


sabatier écrivait news:3FA35AB2.9030608
@wanadoo.fr:

salut christian
tu as essayé de faire cela avec l'enregistreur de macros??
c'est un bon début, je pense
jps

Christian Raoux a écrit:
Salut la liste

Je cherche à inserer une image dans une feuille excel

l'utilisateur doit cliquer sur bouton pour lancer une macro

avec : Application.Dialogs(xlDialogInsertPicture).Show

mais comment donner à l'image la taille voulue et sa position

merci d'avance

Christian









Avatar
Misange
Bonjour,
Regarde ici :
http://disciplus.simplex.free.fr/classeursxl/av-listeimages.zip
et là
http://disciplus.simplex.free.fr/classeursxl/av-boitedialxl5.zip

pour avoir des exemples à télécharger.

--
Misange migrateuse http://www.excelabo.net
==== Attention : Disciplus a déménagé !====



"Christian Raoux" a écrit dans le message de news:

Salut la liste

Je cherche à inserer une image dans une feuille excel

l'utilisateur doit cliquer sur bouton pour lancer une macro

avec : Application.Dialogs(xlDialogInsertPicture).Show

mais comment donner à l'image la taille voulue et sa position

merci d'avance

Christian


Avatar
Christian Raoux
Merci je vais essayer

christian

"Misange" écrivait
news::

Bonjour,
Regarde ici :
http://disciplus.simplex.free.fr/classeursxl/av-listeimages.zip
et là
http://disciplus.simplex.free.fr/classeursxl/av-boitedialxl5.zip

pour avoir des exemples à télécharger.

--
Misange migrateuse http://www.excelabo.net
==== Attention : Disciplus a déménagé !==== >



"Christian Raoux" a écrit dans le message de
news:
Salut la liste

Je cherche à inserer une image dans une feuille excel

l'utilisateur doit cliquer sur bouton pour lancer une macro

avec : Application.Dialogs(xlDialogInsertPicture).Show

mais comment donner à l'image la taille voulue et sa position

merci d'avance

Christian






Avatar
Christian Raoux
Ok très bien
Mais comment faire pour selectioner une image dans un répertoire du disk
et la mêtre dans la procédure quand on ne connait pas le nom du fichier à
l'avance ce qui permet à l'utilisateur de choisir son propre fichier image

merci
Christian

"Philippe.R" écrivait news:#iYcb0EoDHA.2424
@TK2MSFTNGP10.phx.gbl:

Bonjour Christian,

Tu peux regarder Excel et les images à cette adresse :

http://perso.wanadoo.fr/frederic.sigonneau/Excel.htm



Avatar
Alain CROS
Bonjour.

Pas sur d'avoir tout compris, mais ça me permet de demander un renseignement.

Sub ChoixImage()
If Application.Dialogs(xlDialogInsertPicture).Show("C:Mes Documents") Then
With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
.Name = "MonImage"
.LockAspectRatio = msoTrue
.Height = 200
.Top = 20
.Left = 50
End With
End If
End Sub

Application.Dialogs(xlDialogInsertPicture).Show accepte un second paramètre mais comment fonctionne t'il ?

Alain CROS.

"Christian Raoux" a écrit dans le message de news:
Ok très bien
Mais comment faire pour selectioner une image dans un répertoire du disk
et la mêtre dans la procédure quand on ne connait pas le nom du fichier à
l'avance ce qui permet à l'utilisateur de choisir son propre fichier image

merci
Christian



Avatar
Denis Michon
Bonjour Christian,

'Un merci à Denis Pasquier (mpfe) pour l'api que j'ai modifié pour ton problème.

Voici une façon de faire :

Tu appelles la procédure : Sub InsérerUnImage()

Tu prends soin de définir les variables suivantes selon ton projet.
A ) Chemin
B ) Filtre
C ) Feuille
D ) Plage


Dans le haut d'un module standard : Déclaration de l'api
'-------------------
Declare Function GetOpenFileName Lib "comdlg32.dll" _
Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

Private Function SelectAFile(Chemin As String, Optional Filtre As String = "*.*") As String
Dim OpenFile As OPENFILENAME, lReturn As Long, sFilter As String
OpenFile.lStructSize = Len(OpenFile)
sFilter = "Tous les fichiers (" & Filtre & ")" & Chr(0) & Filtre & Chr(0)
With OpenFile
.lpstrFilter = sFilter
.nFilterIndex = 1
.lpstrFile = String(257, 0)
.nMaxFile = Len(OpenFile.lpstrFile) - 1
.lpstrFileTitle = OpenFile.lpstrFile
.nMaxFileTitle = OpenFile.nMaxFile
.lpstrInitialDir = Chemin
.lpstrTitle = "Vos images"
.flags = 0
End With
lReturn = GetOpenFileName(OpenFile)
If lReturn = 0 Then
SelectAFile = "erann"
Else
SelectAFile = Trim(Left(OpenFile.lpstrFile, _
InStr(1, OpenFile.lpstrFile, Chr(0)) - 1))
End If
End Function



'--------------------------------------
Sub InsérerUnImage()

Dim Image As Variant, Chemin As String
Dim Filtre As String, Feuille As String, Plage As Range

'répertoire à l'ouverture
Chemin = "C:Excel"

'Extensions des fichiers à lister du répertoire
Filtre = "*.Jpg;*.bmp;*.ico"

'Où sera copier l'image :
'Nom de la feuille du classeur
Feuille = "Feuil2"

'Étendue de la plage qui sera recouverte par l'image
Set Plage = Range("b5:D6")

Image = SelectAFile(Chemin, Filtre)
If Image <> "erann" Then
InsérerImage Feuille, Range("b5:D6"), Image
End If

End Sub
'--------------------------------------


Sub InsérerImage(Feuille As String, RgImage As Range, NomImage As Variant)
Dim Rg As Range
Set Rg = Worksheets(Feuille).Range(RgImage.Address)
With Rg
Largeur = .Offset(, 1)(, .Columns.Count).Left - .Left
Hauteur = .Offset(.Rows.Count).Top - .Item(1).Top
Set Image = Worksheets(Feuille).Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlFreeFloating 'or xlmove or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing

End Sub
'-----------------------------


Salutations!



"Christian Raoux" a écrit dans le message de news:
Salut la liste

Je cherche à inserer une image dans une feuille excel

l'utilisateur doit cliquer sur bouton pour lancer une macro

avec : Application.Dialogs(xlDialogInsertPicture).Show

mais comment donner à l'image la taille voulue et sa position

merci d'avance

Christian