Insertion d'image dans Excel
Résolu/Fermé
mkos
Mike-31
- Messages postés
- 19
- Date d'inscription
- jeudi 13 août 2009
- Statut
- Membre
- Dernière intervention
- 19 octobre 2009
Mike-31
- Messages postés
- 17950
- Date d'inscription
- dimanche 17 février 2008
- Statut
- Contributeur
- Dernière intervention
- 23 mai 2022
A voir également:
- Insertion d'image dans Excel
- Insertion image excel - Conseils pratiques - Excel
- Insertion image excel dimensionné ✓ - Forum - Excel
- Insertion image excel dans cellule ✓ - Forum - Excel
- Insertion et suppression image excel VBA ✓ - Forum - VB / VBA
- Macro excel pour insertion image avec redime ✓ - Forum - Programmation
10 réponses
Mike-31
17 août 2009 à 11:59
- Messages postés
- 17950
- Date d'inscription
- dimanche 17 février 2008
- Statut
- Contributeur
- Dernière intervention
- 23 mai 2022
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)
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)
Mike-31
13 août 2009 à 18:02
- Messages postés
- 17950
- Date d'inscription
- dimanche 17 février 2008
- Statut
- Contributeur
- Dernière intervention
- 23 mai 2022
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)
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)
mkos
14 août 2009 à 00:49
- Messages postés
- 19
- Date d'inscription
- jeudi 13 août 2009
- Statut
- Membre
- Dernière intervention
- 19 octobre 2009
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
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
Mike-31
14 août 2009 à 09:32
- Messages postés
- 17950
- Date d'inscription
- dimanche 17 février 2008
- Statut
- Contributeur
- Dernière intervention
- 23 mai 2022
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)
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)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mkos
14 août 2009 à 11:20
- Messages postés
- 19
- Date d'inscription
- jeudi 13 août 2009
- Statut
- Membre
- Dernière intervention
- 19 octobre 2009
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
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
Mike-31
14 août 2009 à 14:30
- Messages postés
- 17950
- Date d'inscription
- dimanche 17 février 2008
- Statut
- Contributeur
- Dernière intervention
- 23 mai 2022
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)
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)
mkos
14 août 2009 à 14:41
- Messages postés
- 19
- Date d'inscription
- jeudi 13 août 2009
- Statut
- Membre
- Dernière intervention
- 19 octobre 2009
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
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
Mike-31
14 août 2009 à 15:03
- Messages postés
- 17950
- Date d'inscription
- dimanche 17 février 2008
- Statut
- Contributeur
- Dernière intervention
- 23 mai 2022
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)
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)
mkos
17 août 2009 à 09:10
- Messages postés
- 19
- Date d'inscription
- jeudi 13 août 2009
- Statut
- Membre
- Dernière intervention
- 19 octobre 2009
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 !!
Merci a toi !!
Mike-31
17 août 2009 à 14:33
- 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
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)
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)