Insérer des photos rapidement
momobha
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
momobha Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
momobha Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Nouvelle arrivée j ai certaines idées pr me faciliter mon travail mais impossible de les mettre en place car le monde des VBA et macro est inconnu pr moi. Les tuto ne m aide pas vraiment.
Je travaille sur Excel 2016 et je voudrais insérer une dizaine de photos dans des cellules rapidement. Ces photos se trouvent dans un sous dossier dossier.
Arborescence:
Dossier nom prénom
> dossier admi > bilan (Excel)
> dossier photos> bilan (jpeg)
Y a t il la possibilité de faire un lien rapide entre mon bilan Excel et les photos en jpeg
Je sais pas si je suis bien claire...
Merci d avance
Comment pourrais je me former rapidement à cela pour réaliser des tâches quotidiennes?
Merciii
Nouvelle arrivée j ai certaines idées pr me faciliter mon travail mais impossible de les mettre en place car le monde des VBA et macro est inconnu pr moi. Les tuto ne m aide pas vraiment.
Je travaille sur Excel 2016 et je voudrais insérer une dizaine de photos dans des cellules rapidement. Ces photos se trouvent dans un sous dossier dossier.
Arborescence:
Dossier nom prénom
> dossier admi > bilan (Excel)
> dossier photos> bilan (jpeg)
Y a t il la possibilité de faire un lien rapide entre mon bilan Excel et les photos en jpeg
Je sais pas si je suis bien claire...
Merci d avance
Comment pourrais je me former rapidement à cela pour réaliser des tâches quotidiennes?
Merciii
A voir également:
- Insérer plusieurs images excel
- Insérer liste déroulante excel - Guide
- Insérer video powerpoint - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Insérer signature word - Guide
- Word et excel gratuit - Guide
14 réponses
Bonjour,
Voici un exemple:
http://www.cjoint.com/c/FLFmNCOEhpQ
Voir ceci pour activer les macros
https://support.microsoft.com/en-us/office/enable-or-disable-macros-in-office-files-12b036fd-d140-4e74-b45e-16fed1a7e5c6?redirectsourcepath=%252ffr-fr%252farticle%252factiver-ou-d%2525c3%2525a9sactiver-les-macros-dans-les-documents-office-7b4fdd2e-174f-47e2-9611-9efe4f860b12&ui=en-us&rs=en-us&ad=us
@+ Le Pivert
Voici un exemple:
http://www.cjoint.com/c/FLFmNCOEhpQ
Voir ceci pour activer les macros
https://support.microsoft.com/en-us/office/enable-or-disable-macros-in-office-files-12b036fd-d140-4e74-b45e-16fed1a7e5c6?redirectsourcepath=%252ffr-fr%252farticle%252factiver-ou-d%2525c3%2525a9sactiver-les-macros-dans-les-documents-office-7b4fdd2e-174f-47e2-9611-9efe4f860b12&ui=en-us&rs=en-us&ad=us
@+ Le Pivert
Voici un autre exemple à adapter:
http://www.cjoint.com/c/GAbiOGQ0JkQ
http://www.cjoint.com/c/GAbiOGQ0JkQ
Bonjour
Merci encore, celle la correspond mieux car je peux choisir mes photos.
J'ai vu comment changer le chemin pour accéder à mon dossier photos source.
Mais maintenant, comment faire pour que cette macro soit dans mon doc excel perso de base, (qui est un modèle que j'utilise avec chaque nouveau patient lors de mon évaluation), et que je puisse utiliser sur plusieurs feuilles et dans les cellules spécifiques...
Sachant que j'ai déjà une macro qu'on m'avait faite à "l’intérieur" pour une autre manip...
Je sais pas si je suis bien claire, je ne m'y connais pas vraiment.
Je ne sais pas quels éléments supplémentaire te fournir.
Merci bcp pr ton aide
Merci encore, celle la correspond mieux car je peux choisir mes photos.
J'ai vu comment changer le chemin pour accéder à mon dossier photos source.
Mais maintenant, comment faire pour que cette macro soit dans mon doc excel perso de base, (qui est un modèle que j'utilise avec chaque nouveau patient lors de mon évaluation), et que je puisse utiliser sur plusieurs feuilles et dans les cellules spécifiques...
Sachant que j'ai déjà une macro qu'on m'avait faite à "l’intérieur" pour une autre manip...
Je sais pas si je suis bien claire, je ne m'y connais pas vraiment.
Je ne sais pas quels éléments supplémentaire te fournir.
Merci bcp pr ton aide
Tu mets ce code dans toutes les feuilles concernées en les sélectionnant quand tu es dans l’Éditeur en haut à gauche :
Je n'ai pas mis le code de suppression par clic droit, a toi de voir?
@+ Le Pivert
Option Explicit Dim chemin, Var As Variant Dim position, largeur, hauteur, ratio, Ligne, Colonne Dim img As Object Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Application.Intersect(Target, Range("A1:Z2000")) Is Nothing Then 'a adapter position = Target.Address Ligne = Target.Row Colonne = Target.Column position = Replace(position, "$", "") ImportImages End If End Sub Sub ImportImages() Dim oPict As New stdole.StdPicture ChDir "C:\Users\Le Pïvert\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
Je n'ai pas mis le code de suppression par clic droit, a toi de voir?
@+ Le Pivert
Merciii encooore
J ai changé le chemin, et il faudra que je le mette à jour à chaque fois dc, mais Ca m'écourte un peu la manip.
Merci bcp
Après essai, voila ou se trouve mon nouveau questionnement, ca s'arrete à cette ligne...
A cause de ma cellule peut etre?
Dim oPict As New stdole.StdPicture
ChDir "C:\Users\Myriam BEN HADJ ALI\Pictures\Camera Roll" '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
J ai changé le chemin, et il faudra que je le mette à jour à chaque fois dc, mais Ca m'écourte un peu la manip.
Merci bcp
Après essai, voila ou se trouve mon nouveau questionnement, ca s'arrete à cette ligne...
A cause de ma cellule peut etre?
Dim oPict As New stdole.StdPicture
ChDir "C:\Users\Myriam BEN HADJ ALI\Pictures\Camera Roll" '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
Tu n'as pas besoin de changer de chemin, ce chemin t'ouvre une boite de dialogue qui te permet de choisir justement le chemin de ton fichier!
Pour le bug essaie cela:
Pour le bug essaie cela:
Option Explicit Dim chemin, Var As Variant Dim position, largeur, hauteur, ratio, Ligne, Colonne Dim img As Object Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Application.Intersect(Target, Range("A1:Z2000")) Is Nothing Then 'a adapter position = Target.Address Ligne = Target.Row Colonne = Target.Column position = Replace(position, "$", "") ImportImages End If End Sub Sub ImportImages() Dim oPict As New stdole.StdPicture ChDir "C:\Users\Le Pivert\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 largeur = hauteur * ratio 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
Bonjour et merci encore
Voila ou ca bloque.
Excuse moi d'insister, mais je suis obligée de mettre un chemin car il me dit que le chemin ne correspond pas, mais une fois que je mets un chemin spécifique, ben je tombe sur le beug ci dessous mais ca télécharge quand meme la photo, par contre elle est super grande, comment avais tu fais pour que la taille soit de 3 cm... taille normale pour ma cellule... comme tu faisais dans le deuxieme doc que tu m'avais envoyé.
Merci encore de ton aide et du temps que tu me donnes.
Sub ImportImages()
Dim oPict As New stdole.StdPicture
ChDir "C:\Users\Myriam BEN HADJ ALI\Pictures\Camera Roll" '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
largeur = hauteur * ratio
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
Voila ou ca bloque.
Excuse moi d'insister, mais je suis obligée de mettre un chemin car il me dit que le chemin ne correspond pas, mais une fois que je mets un chemin spécifique, ben je tombe sur le beug ci dessous mais ca télécharge quand meme la photo, par contre elle est super grande, comment avais tu fais pour que la taille soit de 3 cm... taille normale pour ma cellule... comme tu faisais dans le deuxieme doc que tu m'avais envoyé.
Merci encore de ton aide et du temps que tu me donnes.
Sub ImportImages()
Dim oPict As New stdole.StdPicture
ChDir "C:\Users\Myriam BEN HADJ ALI\Pictures\Camera Roll" '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
largeur = hauteur * ratio
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Les 2 classeurs que j'ai mis fonctionnent très bien!
C'est au niveau de ton classeur qu'il y a un problème. Sans le voir, je ne peux pas faire grand chose.
Fais un essai sur un classeur vierge!
C'est au niveau de ton classeur qu'il y a un problème. Sans le voir, je ne peux pas faire grand chose.
Fais un essai sur un classeur vierge!
En mettant ton classeur sur ce site, sans données confidentielles. Pour que je vois si la macro dont tu parles est la cause du bug:
https://www.cjoint.com/
https://www.cjoint.com/
Voilà le classeur
Pour changer le chemin aller dans le Module3.
Voir les codes des feuilles 5 à 10
Double clic pour ouvrir une image
http://www.cjoint.com/c/GAirOvzSVcQ
@+ Le Pivert
Pour changer le chemin aller dans le Module3.
Voir les codes des feuilles 5 à 10
Double clic pour ouvrir une image
http://www.cjoint.com/c/GAirOvzSVcQ
@+ Le Pivert
Si cela change ta mise en forme du tableau, tu peux jouer là dessus, tu diminues ou t'augmentes la hauteur
Pour le code des feuilles, quand tu es dans l’Éditeur, tu vois tes Modules au dessus il y a toutes les feuilles, il suffit de cliquer dessus pour voir le code!
PS je peux supprimer le classeur sur Ci-joint si tu veux, maintenant que cela fonctionne, tu me dis?
hauteur = 100 'a adapter la hauteur de l'image
Pour le code des feuilles, quand tu es dans l’Éditeur, tu vois tes Modules au dessus il y a toutes les feuilles, il suffit de cliquer dessus pour voir le code!
PS je peux supprimer le classeur sur Ci-joint si tu veux, maintenant que cela fonctionne, tu me dis?
Si tu veux mettre la taille de ton image en fonction de la hauteur de ta cellule, il faut remplacer dans le module3 cette ligne:
par cette ligne;
Voilà
hauteur = 100 'a adapter la hauteur de l'image
par cette ligne;
hauteur = ActiveCell.Height
Voilà
Voilà le nouveau classeur. Les colonnes ne s'ajustent plus, elles restent fixes aux dimensions d'origine.
http://www.cjoint.com/c/GAjmXqBPflQ
Le classeur que tu as posté était enregistré en xlsx, ne prenant pas en charge les macros. Il faut enregistrer ton classeur en xlsm prenant en charge les macros!
@+ Le Pivert
http://www.cjoint.com/c/GAjmXqBPflQ
Le classeur que tu as posté était enregistré en xlsx, ne prenant pas en charge les macros. Il faut enregistrer ton classeur en xlsm prenant en charge les macros!
@+ Le Pivert
Tu as 2 solutions:
1ère délimiter à une colonne ou plusieurs colonnes, l'ouverture de la macro comme ceci dans le code des feuilles:
la macro ne se déclenchera que dans la colonne E
2ème un raccourci clavier que tu devras faire toi même en suivant les instructions de ce site:
http://www.info-3000.com/vbvba/raccourciclavier.php
Ensuite il faudra changer le code des feuilles et enlever
1ère délimiter à une colonne ou plusieurs colonnes, l'ouverture de la macro comme ceci dans le code des feuilles:
Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Application.Intersect(Target, Range("E:E")) Is Nothing Then 'a adapter position = Target.Address Ligne = Target.Row Colonne = Target.Column position = Replace(position, "$", "") ImportImages End If End Sub
la macro ne se déclenchera que dans la colonne E
2ème un raccourci clavier que tu devras faire toi même en suivant les instructions de ce site:
http://www.info-3000.com/vbvba/raccourciclavier.php
Ensuite il faudra changer le code des feuilles et enlever
ImportImagesde la macro
D'accord...d'accord...
bon je vais tester le raccourcit, cela m'est plus accessible alors...
une fois le raccourcit fait, est ce que je dois enlever qqc de la macro pour que le double clic ne serve plus à aller chercher les photos?
et merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
bon je vais tester le raccourcit, cela m'est plus accessible alors...
une fois le raccourcit fait, est ce que je dois enlever qqc de la macro pour que le double clic ne serve plus à aller chercher les photos?
et merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
J'ai fait le raccourci par code i comme image
Aller dans le module3 pour changer le chemin des images et la lettre du raccourci si nécessaire.
http://www.cjoint.com/c/GAkomsBz0fQ
J'ai aussi changer le double clic par Worksheet_SelectionChange dans les feuilles concernées 5 à 10. Il suffira de sélectionner la cellule où insérer l'image
L'inconvénient c'est que dans toutes les feuilles quand la lettre i seule sera saisie l'ouverture du choix d'une image se fera.
@+ Le Pivert
Aller dans le module3 pour changer le chemin des images et la lettre du raccourci si nécessaire.
http://www.cjoint.com/c/GAkomsBz0fQ
J'ai aussi changer le double clic par Worksheet_SelectionChange dans les feuilles concernées 5 à 10. Il suffira de sélectionner la cellule où insérer l'image
L'inconvénient c'est que dans toutes les feuilles quand la lettre i seule sera saisie l'ouverture du choix d'une image se fera.
@+ Le Pivert
Bonjour
Je te fais un retour. Ce que tu m'as mis en place m'aide bcp, je t en remercie. Je gagne 30 bonnes minutes et c'est considérable.
Merci bcp
J'ai deux petites questions.
Parfois quand j'insert ma photo dans une cellule, même si cette dernière n'est pas petite, la photo apparaît en toute petite, y a t il qqc à faire en amont pour qu'elle apparaisse dans la taille de la cellule.
La deuxième, parfois quand je réajuste mes lignes, les photos se décalent toutes, ou quand je coupe des lignes avec des photos et que je les colle ailleurs sur la page, les photos ne suivent pas.
Cela t'évoque-t-il qq?
Bon c'est vraiment un détail, j'ai gagné bcp du temps déja.
Encore merci
Je te fais un retour. Ce que tu m'as mis en place m'aide bcp, je t en remercie. Je gagne 30 bonnes minutes et c'est considérable.
Merci bcp
J'ai deux petites questions.
Parfois quand j'insert ma photo dans une cellule, même si cette dernière n'est pas petite, la photo apparaît en toute petite, y a t il qqc à faire en amont pour qu'elle apparaisse dans la taille de la cellule.
La deuxième, parfois quand je réajuste mes lignes, les photos se décalent toutes, ou quand je coupe des lignes avec des photos et que je les colle ailleurs sur la page, les photos ne suivent pas.
Cela t'évoque-t-il qq?
Bon c'est vraiment un détail, j'ai gagné bcp du temps déja.
Encore merci
Bonjour,
voila une nouvelle mouture avec un dossier image. Ne rien toucher au code, il s'ouvre directement sur le dossier image. Tu peux supprimer les images de ce dossier cela ne change rien à ton classeur.
Les images sont réglées pour ce mettre à la même hauteur que la cellule.
http://www.cjoint.com/c/GAwrgTSyw1Q
@+ Le Pivert
voila une nouvelle mouture avec un dossier image. Ne rien toucher au code, il s'ouvre directement sur le dossier image. Tu peux supprimer les images de ce dossier cela ne change rien à ton classeur.
Les images sont réglées pour ce mettre à la même hauteur que la cellule.
http://www.cjoint.com/c/GAwrgTSyw1Q
@+ Le Pivert
Merci... Mais, je fais quoi du doc? du code? comment je l'adapte à mon doc?
Je copie le code? je le colle ou? je remplace quoi? faut m'aiguiller...desolée...je connais pas
et quand je fais un double clic, ca me fait un beug la:
Bon si ca te prend trop de temps je comprends, pas de soucis, tu m'as deja bien aidé...
Sub ImportImages()
Dim oPict As New stdole.StdPicture
ChDir ThisWorkbook.Path & "\Image\"
chemin = Application.GetOpenFilename
If chemin = False Then Exit Sub 'annulation
'hauteur = 100 'a adapter la hauteur de l'image
hauteur = ActiveCell.Height
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
Je copie le code? je le colle ou? je remplace quoi? faut m'aiguiller...desolée...je connais pas
et quand je fais un double clic, ca me fait un beug la:
Bon si ca te prend trop de temps je comprends, pas de soucis, tu m'as deja bien aidé...
Sub ImportImages()
Dim oPict As New stdole.StdPicture
ChDir ThisWorkbook.Path & "\Image\"
chemin = Application.GetOpenFilename
If chemin = False Then Exit Sub 'annulation
'hauteur = 100 'a adapter la hauteur de l'image
hauteur = ActiveCell.Height
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
et oui, une dernière chose, je ne peux pas supprimer les photos de mon dossier source par la suite, sinon elles disparaissent aussi du bilan... y a t il une alternative, car bcp de dossiers photos....
C'est toujours le même code, c'est simplement pour te faire voir qu'en supprimant une image du dossier, il n'y a aucune incidence sur ton classeur
Parfois quand j'insert ma photo dans une cellule, même si cette dernière n'est pas petite, la photo apparaît en toute petite
et que les images sont à la dimension de la cellule
La deuxième, parfois quand je réajuste mes lignes, les photos se décalent toutes, ou quand je coupe des lignes avec des photos et que je les colle ailleurs sur la page, les photos ne suivent pas.
Sur ce coup là, je ne peux pas t'aider
Bonne continuation
C'est toujours le même code, c'est simplement pour te faire voir qu'en supprimant une image du dossier, il n'y a aucune incidence sur ton classeur
Parfois quand j'insert ma photo dans une cellule, même si cette dernière n'est pas petite, la photo apparaît en toute petite
et que les images sont à la dimension de la cellule
La deuxième, parfois quand je réajuste mes lignes, les photos se décalent toutes, ou quand je coupe des lignes avec des photos et que je les colle ailleurs sur la page, les photos ne suivent pas.
Sur ce coup là, je ne peux pas t'aider
Bonne continuation
Ok, merci bcp pour ton aide.
C'est surprenant en effet car j ai testé, j ai effacé des photos et ds mon doc, j avais la photo qui avait disparue un message disant que le fichier n'était plus dispo
Mais c'est pas grave je vais m'oganiser
Merci bcp pour ton aide.
C'est surprenant en effet car j ai testé, j ai effacé des photos et ds mon doc, j avais la photo qui avait disparue un message disant que le fichier n'était plus dispo
Mais c'est pas grave je vais m'oganiser
Merci bcp pour ton aide.
Alors j'ai ouvert le doc
Le principe est la. Merci
Que dois je faire maintenant? copier la macro dans mon doc de base excel pour l'avoir à chaque fois que je l'utilise?
Est ce possible de choisir les photos et les emplacements précis ?
Merci par avance!