Insertion d'image dans Excel

Résolu/Fermé
mkos
Messages postés
19
Date d'inscription
jeudi 13 août 2009
Statut
Membre
Dernière intervention
19 octobre 2009
- 13 août 2009 à 17:38
Mike-31
Messages postés
17950
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 mai 2022
- 17 août 2009 à 14:33
Bonjour, re-bonjour,

Je voudrais savoir si il est possible d'inserer dans excel, un bouton "PArcourir" pour permettre a l'utilisateur d'inserer une image dans une cellule ?

Merci !

10 réponses

Mike-31
Messages postés
17950
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 mai 2022
4 948
17 août 2009 à 11:59
Re,

Oui tout à fait possible, pour ne pas changer tout le code afin qu'il soit adaptable à la cellule de ton choix, j'ai rajouté deux lignes en gras, une pour sélectionner la cellule de réception et une pour désélectionner l'image.

Private Sub CommandButton1_Click()
Dim Image As Variant
Dim L As Single, T As Single, W As Single, H As Single
[B2].Select
'Dimensionne la cellule
ActiveCell.Offset().RowHeight = 63.75
ActiveCell.Offset().ColumnWidth = 13.86
'sélectionne la cellule de réception
L = ActiveCell.Left
T = ActiveCell.Top
W = ActiveCell.Width
H = ActiveCell.Height
Image = Application.GetOpenFilename
If Image <> False Then
ActiveSheet.Shapes.AddPicture Image, True, True, L, T, W, H
[A1].SelectEnd If
End Sub

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
1
Mike-31
Messages postés
17950
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 mai 2022
4 948
13 août 2009 à 18:02
Salut,

Il faut créer un bouton mais surtout écrire un code en VBA si tu as quelques notions en VBA, on peut le faire

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
mkos
Messages postés
19
Date d'inscription
jeudi 13 août 2009
Statut
Membre
Dernière intervention
19 octobre 2009
3
14 août 2009 à 00:49
Salut,

jai quelques notions, si tu peux deja me donner quelques commandes et etapes, je vais essayer !! Et je vous tiendrais au courant si j'ai des soucis ou si j'ai reussi !! :)

Merci
0
Mike-31
Messages postés
17950
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 mai 2022
4 948
14 août 2009 à 09:32
Salut,

Ok, dans quelle cellule veux tu insérer une image
comme tu le sais la dimension d'une cellule est 12,75 sur 10,71 pour que ton image s'insére correctement et surtout soit visible il va faloir la redimensionner quel format souhaites tu, dis moi même en cm je me débrouillerai

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mkos
Messages postés
19
Date d'inscription
jeudi 13 août 2009
Statut
Membre
Dernière intervention
19 octobre 2009
3
14 août 2009 à 11:20
Je souhaite inserer des images dans plusieurs cellules avec a chaque fois un bouton parcourir different.
Je voudrais que la photo garde plus ou moins ces proportions si possible, elle qu'elle prenne la taille la plus grande qu'elle puisse dans la cellule.

Quel format?
L'ideal se serait que l'utilsateur puisse rentrer des jpeg, pdf ou meme bmp et autres formats de photos souvent utilisees... (enfin surtout jpeg)

Merci
0
Mike-31
Messages postés
17950
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 mai 2022
4 948
14 août 2009 à 14:30
Re,

Tu n'as pas tout à fait répondu à ma question, mais on va faire avec.
Colles ce code dans un module macro et associes le à un bouton, il dimensionne la cellule active et ouvre la fenêtre Ouvrir, colle l'image dans la cellule active aux dimensions de la cellule précédemment établi

Sub Insertion_Image_Aux_Dimension_Cellule()
Dim Image As Variant
Dim L As Single, T As Single, W As Single, H As Single
'Dimensionne la cellule
ActiveCell.Offset().RowHeight = 63.75
ActiveCell.Offset().ColumnWidth = 13.86
'sélectionne la cellule de réception
L = ActiveCell.Left
T = ActiveCell.Top
W = ActiveCell.Width
H = ActiveCell.Height
Image = Application.GetOpenFilename
If Image <> False Then
ActiveSheet.Shapes.AddPicture Image, True, True, L, T, W, H
End If
End Sub


A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
mkos
Messages postés
19
Date d'inscription
jeudi 13 août 2009
Statut
Membre
Dernière intervention
19 octobre 2009
3
14 août 2009 à 14:41
Comment je l'associe a un bouton ? J'ai essaye de le mettre dans le "Private Sub ToggleButton1_Click()" mais ca ne marche pas non plus..

Private Sub ToggleButton1_Click()

End Sub

Sub Insertion_Image_Aux_Dimension_Cellule()
Dim Image As Variant
Dim L As Single, T As Single, W As Single, H As Single
'Dimensionne la cellule
ActiveCell.Offset().RowHeight = 63.75
ActiveCell.Offset().ColumnWidth = 13.86
'sélectionne la cellule de réception
L = ActiveCell.Left
T = ActiveCell.Top
W = ActiveCell.Width
H = ActiveCell.Height
Image = Application.GetOpenFilename
If Image <> False Then
ActiveSheet.Shapes.AddPicture Image, True, True, L, T, W, H
End If
End Sub
0
Mike-31
Messages postés
17950
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 mai 2022
4 948
14 août 2009 à 15:03
Il est préférable d'utiliser un CommandButton, si c'est le CommandBotton1 colles ce code si non adaptes
Private Sub CommandButton2_Click() pour le deuxième etc ...


Private Sub CommandButton1_Click()
Dim Image As Variant
Dim L As Single, T As Single, W As Single, H As Single
'Dimensionne la cellule
ActiveCell.Offset().RowHeight = 63.75
ActiveCell.Offset().ColumnWidth = 13.86
'sélectionne la cellule de réception
L = ActiveCell.Left
T = ActiveCell.Top
W = ActiveCell.Width
H = ActiveCell.Height
Image = Application.GetOpenFilename
If Image <> False Then
ActiveSheet.Shapes.AddPicture Image, True, True, L, T, W, H
End If
End Sub

Ou avec le premier code, tu crées un bouton avec la barre Formulaire et associer à une macro

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
mkos
Messages postés
19
Date d'inscription
jeudi 13 août 2009
Statut
Membre
Dernière intervention
19 octobre 2009
3
17 août 2009 à 09:10
C’est super, ca marche tres bien, juste oui, comme je n’ai pas tres bien repondu a ta reponse la derniere fois tu inseres l’image dans la case active. Je prefererais que ce soit un numero de cellule, et j’adapterais ce numero de cellule en fonction de chaque command button. Est-ce possible

Merci a toi !!
0
Mike-31
Messages postés
17950
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 mai 2022
4 948
17 août 2009 à 14:33
Re,

En relisant la discussion et pour compléter mon post précédent, si du dois insérer une image dans plusieurs cellules il est possible d'utiliser le code en modifiant une ligne pour faire référence à une cellule qui pourrait contenir une liste déroulante avec les références de cellule.
Par exemple en F2 tu saisis ou sélection B2 si tu souhaites insérer l’image dans cette cellule
En remplaçant
[B2].Select

par

Range([F2]).Select

Il te suffira de changer la référence contenue en F2 pour insérer une nouvelle image dans une autre cellule sans avoir à toucher à ton code VBA

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0