Inserer images cellule active.xlsx

Résolu/Fermé
Sam77181 - Modifié par Sam77181 le 22/09/2015 à 10:37
Sam77181 Messages postés 8 Date d'inscription mardi 22 septembre 2015 Statut Membre Dernière intervention 23 septembre 2015 - 23 sept. 2015 à 19:53
Bonjour
.
J'essaie d'intégrer une macro sur un fichier.xlsx qui permet d'insérer des photos dans les cellules actives.
.
J'ai plusieurs contraintes :
- Je voudrais que les images se dimensionnent à la hauteur de ligne.
- J'ai plusieurs photos qui seront dans le même dossier ou se trouve ce fichier. Je veux donc choisir les images sans avoir a toucher les images (modifier nom, les positionner dans un répertoire particulier...)
.
J'ai déjà çà comme base mais ca ne me convient pas et j'utilise CTRL + SHIFT + I :
.
-------------------------
Sub InsererImage()

ActiveSheet.Pictures.Insert("C:\image.jpg").Select

With Selection.ShapeRange
.Left = ActiveCell.Left
.Top = ActiveCell.Top
End With

End Sub
----------------------------------
.
Merci pour votre aide.
Sam77181
.

7 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
22 sept. 2015 à 14:50
Bonjour,

Voici un exemple:

http://www.cjoint.com/c/EIwmXn5Pw8Q
0
Merci Pivert
.
C'est super ce fichier.
.
Je pense pouvoir exploiter ce que tu m'as envoyé, mais je suis embêté en partie car je souhaite pouvoir choisir moi même les images dans le répertoire "Dossierimages" pour les mettre dans l'ordre qui me convient un à un si nécessaire.
.
cela faisait longtemps que je n'utilisais plus excel pour ce genre de besoin, et je suis toujours aussi étonné de voir ce que l'on peut faire avec.

Merci
Sam
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
22 sept. 2015 à 15:26
Voilà:

http://www.cjoint.com/c/EIwnzGvCpWQ
0
Sam77181 Messages postés 8 Date d'inscription mardi 22 septembre 2015 Statut Membre Dernière intervention 23 septembre 2015
22 sept. 2015 à 15:33
Waouhhhh Waouhhh et reWaouhhh

Rapide et concis.

Merci Pivert.
C'est beau ! :)

Je suppose qu'en me penchant sur le code je vais pouvoir modifier le chemin de destination pour ouvrir la fenetre de recherche sur le dossier que je veux dans "mesdocuments"...
et que je peux faire démarrer le double clique sur une plage de cellules sélectionnées... ?

Merci je vais me pencher sur tout ca

Bonne fin de journée

Sam
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
22 sept. 2015 à 15:59
Pour l'ouverture sur le dossier:

Sub ImportImages()
   Dim oPict As New stdole.StdPicture
    ChDir "C:\Users\....\Pictures" 'adapter chemin dossier à ouvrir
  chemin = Application.GetOpenFilename
  If chemin = False Then Exit Sub 'annulation
  hauteur = 100 'a adapter la hauteur de l'image
 Set oPict = stdole.LoadPicture(chemin)
 ratio = oPict.Width / oPict.Height
If oPict.Height < oPict.Width Then 'mode paysage
largeur = hauteur * ratio
Else
largeur = hauteur * ratio
End If
     Columns(Colonne).ColumnWidth = largeur / 5.5
     Rows(Ligne & ":" & Ligne).RowHeight = hauteur
  ActiveSheet.Pictures.Insert(chemin).Select
  Var = Selection.Name
  Selection.ShapeRange.LockAspectRatio = msoFalse
  With ActiveSheet.Shapes(Var)
    .Top = Range(position).Top
    .Left = Range(position).Left
    .Height = hauteur
    .Width = largeur
     End With
     End Sub


Pour la plage de cellule:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("A1:F38")) Is Nothing Then 'a adapter la plage de cellule
position = Target.Address
Ligne = Target.Row
Colonne = Target.Column
position = Replace(position, "$", "")
ImportImages
End If
End Sub

0
Sam77181 Messages postés 8 Date d'inscription mardi 22 septembre 2015 Statut Membre Dernière intervention 23 septembre 2015
22 sept. 2015 à 16:05
Merci beaucoup Pivert

Tu me simplifies le recherche et surtout m'évite des maux de tête.

Sam
0
Sam77181 Messages postés 8 Date d'inscription mardi 22 septembre 2015 Statut Membre Dernière intervention 23 septembre 2015
23 sept. 2015 à 10:00
Bonjour Pivert

J'y ai passé la soirée mais pas réussi. Je n'ai pas les connaissances nécessaires pour l'adapter à mon fichier.
Quelqu'un pourrait il l'intégrer à mon fichier si je l'upload quelque part ?

Merci beaucoup
Sam
0
Sam77181 Messages postés 8 Date d'inscription mardi 22 septembre 2015 Statut Membre Dernière intervention 23 septembre 2015
23 sept. 2015 à 10:02
Voila le fichier http://www.cjoint.com/c/EIxib3PTOnh
0

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

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
23 sept. 2015 à 10:54
Je vois cela cette après-midi
0
Sam77181 Messages postés 8 Date d'inscription mardi 22 septembre 2015 Statut Membre Dernière intervention 23 septembre 2015
23 sept. 2015 à 11:40
merci beaucoup
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
23 sept. 2015 à 13:22
Voila, il faudra activer le chemin du dossier à ouvrir, après l'avoir adapter:

http://www.cjoint.com/c/EIxlvG8LLvQ
0
Sam77181 Messages postés 8 Date d'inscription mardi 22 septembre 2015 Statut Membre Dernière intervention 23 septembre 2015
23 sept. 2015 à 13:40
merci
le fichier ne s'ouvre pas
c'est normal l'extension xlsm ????
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
23 sept. 2015 à 13:58
Le dernier classeur était en Excel 2007, celui-ci est en 2003:

http://www.cjoint.com/c/EIxl5z0xSYQ
0
Sam77181 Messages postés 8 Date d'inscription mardi 22 septembre 2015 Statut Membre Dernière intervention 23 septembre 2015
23 sept. 2015 à 19:52
Impeccable
Merci Le Pivert

Sam
0
Sam77181 Messages postés 8 Date d'inscription mardi 22 septembre 2015 Statut Membre Dernière intervention 23 septembre 2015
23 sept. 2015 à 19:53
Je ne cloture pas de suite le sujet avant de m'assurer que tout est opérationnel.
0