Macro pour Fichier Photo sous excel
Résolu
cesam69
-
AniSal Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
AniSal Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aurais besoin d'éditer un catalogue photo.
Sous Excel dans un onglet A : J'ai une Liste de référence avec le chemin pour les récupérer en colonne A + une liste de prix en colonne B
J'aimerai pouvoir insérer les photos en automatique dans une page Excel avec les Prix dessus. Et avoir ainsi dans un onglet B dans la colonne A1 une image, en A2 une autre image ainsi de suite pour pouvoir éditer un catalogue photo en page A4
J'espère avoir été clair
Merci de me dire si c'est possible comment faire
J'aurais besoin d'éditer un catalogue photo.
Sous Excel dans un onglet A : J'ai une Liste de référence avec le chemin pour les récupérer en colonne A + une liste de prix en colonne B
J'aimerai pouvoir insérer les photos en automatique dans une page Excel avec les Prix dessus. Et avoir ainsi dans un onglet B dans la colonne A1 une image, en A2 une autre image ainsi de suite pour pouvoir éditer un catalogue photo en page A4
J'espère avoir été clair
Merci de me dire si c'est possible comment faire
A voir également:
- Macro pour Fichier Photo sous excel
- Fichier bin - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
8 réponses
Tu peu reprendre le classeur ci-dessus, il est modifié.
Ne se pause plus de question :D, plus de demande d'effacer, de répertoire etc..
Tu peu modifier le nombre de colonnes les textes suivront.
La feuille data ne sera pas régénérée.
J'espère que cette fois c'est la bonne.
A+
Ne se pause plus de question :D, plus de demande d'effacer, de répertoire etc..
Tu peu modifier le nombre de colonnes les textes suivront.
La feuille data ne sera pas régénérée.
J'espère que cette fois c'est la bonne.
A+
Bonjour,
Un fichier que j'avais réalisé pour une demande similaire : AffImage.xls
Les explications sont dedans.
eric
Un fichier que j'avais réalisé pour une demande similaire : AffImage.xls
Les explications sont dedans.
eric
Re,
Bien sûr que tu peux, mais lermite serait plus à même de te répondre où insérer le code.
Il connait son programme...
En regardant vite fait je dirait que c'est dans le Sub insere_image_ratio du module Images où tu retrouves Cells(Lig, Col).Select
En dessous ajoute Cells(Lig, Col).value= "ton_texte" (ou une variable ou une cellule contenant ton texte).
Ajoute le format de cellule désiré (surtout le positionnement du texte), et il faudra sans doute que tu modifies la hauteur de la cellule (après son calcul) pour que ton image ne masque pas le texte.
eric
Bien sûr que tu peux, mais lermite serait plus à même de te répondre où insérer le code.
Il connait son programme...
En regardant vite fait je dirait que c'est dans le Sub insere_image_ratio du module Images où tu retrouves Cells(Lig, Col).Select
En dessous ajoute Cells(Lig, Col).value= "ton_texte" (ou une variable ou une cellule contenant ton texte).
Ajoute le format de cellule désiré (surtout le positionnement du texte), et il faudra sans doute que tu modifies la hauteur de la cellule (après son calcul) pour que ton image ne masque pas le texte.
eric
OK, je suis vraiment un débutant sur le sujet :
Aussi est il possible de faire en sorte que le choix de la liste puisse être à partir d'une liste de référence sous excel comme pour la macro ci dessous:
Sélection du chemin en colonne C
Sub machin()
Dim Sh As Shape
For Each Sh In Worksheets("Feuil1").Shapes
If Sh.Type = msoPicture Then Sh.Delete
Next
Application.Goto Reference:="Image_Bt"
For Each c In Selection
fich = c.Offset(0, 2).Value
ligne = c.Row
ActiveSheet.Pictures.Insert(fich).Select 'ouverture Image_Bt
With Selection.ShapeRange
.LockAspectRatio = msoTrue 'conserver les proportion
.Height = 60 'hauteur de l'image - un tit qcq chose pour qu'elle soient séparée
.Left = 40 'à gauche colonne A (sinon tu calcules avec la largeur de colonne des colonnes
.Top = c.Top + 1 'et positionner verticalement
End With
Next c
End Sub
Pour le Texte il serait en colonne D et comment ajouter le format de Cellule pour le positionnement du texte et comment modifies la hauteur de la cellule (après son calcul) pour que ton image ne masque pas le texte
J'en demande beaucoup, je sais
Merci de ta précieuse aide
Aussi est il possible de faire en sorte que le choix de la liste puisse être à partir d'une liste de référence sous excel comme pour la macro ci dessous:
Sélection du chemin en colonne C
Sub machin()
Dim Sh As Shape
For Each Sh In Worksheets("Feuil1").Shapes
If Sh.Type = msoPicture Then Sh.Delete
Next
Application.Goto Reference:="Image_Bt"
For Each c In Selection
fich = c.Offset(0, 2).Value
ligne = c.Row
ActiveSheet.Pictures.Insert(fich).Select 'ouverture Image_Bt
With Selection.ShapeRange
.LockAspectRatio = msoTrue 'conserver les proportion
.Height = 60 'hauteur de l'image - un tit qcq chose pour qu'elle soient séparée
.Left = 40 'à gauche colonne A (sinon tu calcules avec la largeur de colonne des colonnes
.Top = c.Top + 1 'et positionner verticalement
End With
Next c
End Sub
Pour le Texte il serait en colonne D et comment ajouter le format de Cellule pour le positionnement du texte et comment modifies la hauteur de la cellule (après son calcul) pour que ton image ne masque pas le texte
J'en demande beaucoup, je sais
Merci de ta précieuse aide
Désolé mais par respect pour le travail de lermite c'est à lui de faire évoluer son programme dans le sens où il l'entend.
C'est plus qu'une adaptation à un cas particulier que tu demandes, tes idées et propositions d'évolutions l'intéresseront probablement.
Ne t'inquiète pas, il vient très régulièrement... ;-)
eric
C'est plus qu'une adaptation à un cas particulier que tu demandes, tes idées et propositions d'évolutions l'intéresseront probablement.
Ne t'inquiète pas, il vient très régulièrement... ;-)
eric
Bonjour,
Tu peu aussi voir ce tuto
A+
Tu peu aussi voir ce tuto
A+
OK, je suis vraiment un débutant sur le sujet :
Aussi est il possible de faire en sorte que le choix de la liste puisse être à partir d'une liste de référence sous excel comme pour la macro ci dessous:
Sélection du chemin en colonne C
Sub machin()
Dim Sh As Shape
For Each Sh In Worksheets("Feuil1").Shapes
If Sh.Type = msoPicture Then Sh.Delete
Next
Application.Goto Reference:="Image_Bt"
For Each c In Selection
fich = c.Offset(0, 2).Value
ligne = c.Row
ActiveSheet.Pictures.Insert(fich).Select 'ouverture Image_Bt
With Selection.ShapeRange
.LockAspectRatio = msoTrue 'conserver les proportion
.Height = 60 'hauteur de l'image - un tit qcq chose pour qu'elle soient séparée
.Left = 40 'à gauche colonne A (sinon tu calcules avec la largeur de colonne des colonnes
.Top = c.Top + 1 'et positionner verticalement
End With
Next c
End Sub
Pour le Texte il serait en colonne D et comment ajouter le format de Cellule pour le positionnement du texte et comment modifies la hauteur de la cellule (après son calcul) pour que ton image ne masque pas le texte
J'en demande beaucoup, je sais
Merci de ta précieuse aide
Aussi est il possible de faire en sorte que le choix de la liste puisse être à partir d'une liste de référence sous excel comme pour la macro ci dessous:
Sélection du chemin en colonne C
Sub machin()
Dim Sh As Shape
For Each Sh In Worksheets("Feuil1").Shapes
If Sh.Type = msoPicture Then Sh.Delete
Next
Application.Goto Reference:="Image_Bt"
For Each c In Selection
fich = c.Offset(0, 2).Value
ligne = c.Row
ActiveSheet.Pictures.Insert(fich).Select 'ouverture Image_Bt
With Selection.ShapeRange
.LockAspectRatio = msoTrue 'conserver les proportion
.Height = 60 'hauteur de l'image - un tit qcq chose pour qu'elle soient séparée
.Left = 40 'à gauche colonne A (sinon tu calcules avec la largeur de colonne des colonnes
.Top = c.Top + 1 'et positionner verticalement
End With
Next c
End Sub
Pour le Texte il serait en colonne D et comment ajouter le format de Cellule pour le positionnement du texte et comment modifies la hauteur de la cellule (après son calcul) pour que ton image ne masque pas le texte
J'en demande beaucoup, je sais
Merci de ta précieuse aide
Merci c'est exactement ce que je recherche.
Par contre est il possible de mettre du texte sous les photos en automatique à partir d'un Fichier ? comme une référence ou un prix par exemple?
Merci encore pour ton aide
Par contre est il possible de mettre du texte sous les photos en automatique à partir d'un Fichier ? comme une référence ou un prix par exemple?
Merci encore pour ton aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
A part le texte sur l'image, je ne comprend pas ta question, tout est paramétrable, la feuille la/les colonnes, la grandeur, le ratio...
Je regarde demain pour ajouter le texte sous l'image.
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Je regarde demain pour ajouter le texte sous l'image.
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Bonjour,
Je m'explique:
J'extrais sur une feuille excel des informations d'un AS400 ( ref, designation, prix) en fonction de certains paramètres ex typologie produit. ( ex: 20 lignes: Produit 1, Produit 2.......)
J'ai donc en Colonne A ( Plage_ref) les références des produits , en Colonne C (plage_chemin_photo) les chemins grâce à une formule (="z:\"&SUBSTITUE((SUBSTITUE((SUBSTITUE(plage_ref;" ";"_";1));" ";"_";1));" ";"_";1)&".jpg") pour trouver les photos dans un dossier de 10000 photos et en colonne D (Plage_prix) les prix des produits.
Je souhaiterais pouvoir utiliser ta macro en la couplant avec mon extraction en automatique pour que les photos ne soient pas un Fichier sélectionné mais plutôt les références qui ont été extraites de l'AS400 ( Plage_ref).
J'aurai également besoin que l'annulation des anciennes photos dans le fichier image soit automatique sans qu'il y ait un bouton de Demande.
Et enfin pouvoir mettre les prix (Plage_prix) sous les photos correspondante à mes références.
J'en demande beaucoup,
Mais vraiment cela serait super.
Merci pour ton aide
CESAM69
Je m'explique:
J'extrais sur une feuille excel des informations d'un AS400 ( ref, designation, prix) en fonction de certains paramètres ex typologie produit. ( ex: 20 lignes: Produit 1, Produit 2.......)
J'ai donc en Colonne A ( Plage_ref) les références des produits , en Colonne C (plage_chemin_photo) les chemins grâce à une formule (="z:\"&SUBSTITUE((SUBSTITUE((SUBSTITUE(plage_ref;" ";"_";1));" ";"_";1));" ";"_";1)&".jpg") pour trouver les photos dans un dossier de 10000 photos et en colonne D (Plage_prix) les prix des produits.
Je souhaiterais pouvoir utiliser ta macro en la couplant avec mon extraction en automatique pour que les photos ne soient pas un Fichier sélectionné mais plutôt les références qui ont été extraites de l'AS400 ( Plage_ref).
J'aurai également besoin que l'annulation des anciennes photos dans le fichier image soit automatique sans qu'il y ait un bouton de Demande.
Et enfin pouvoir mettre les prix (Plage_prix) sous les photos correspondante à mes références.
J'en demande beaucoup,
Mais vraiment cela serait super.
Merci pour ton aide
CESAM69
re,
Si j'ai bien vu ta macro , mais je ne peux pas avec sortir plusieurs photos en automatique ou alors je n'ai pas compris le fonctionnement, désolé,
La macro de lermite est très adapté pour moi, sauf que je ne peux pas la mixer avec la tienne car je n'ai pas les connaissances suffisantes.
Si lermite le permet, tu peux me donner un coup de main?
On est pas loin de la solution finale.
Si j'ai bien vu ta macro , mais je ne peux pas avec sortir plusieurs photos en automatique ou alors je n'ai pas compris le fonctionnement, désolé,
La macro de lermite est très adapté pour moi, sauf que je ne peux pas la mixer avec la tienne car je n'ai pas les connaissances suffisantes.
Si lermite le permet, tu peux me donner un coup de main?
On est pas loin de la solution finale.
Bonjour,
Si j'ai bien vu ta macro , mais je ne peux pas avec sortir plusieurs photos en automatique ou alors je n'ai pas compris le fonctionnement, désolé,
Il suffit de savoir lire :
' Sélectionner les cellules contenant un lien vers une image et appeler la macro
' AffImage les affichera sur le lien ou dans la colonne de gauche ou de droite
eric
Si j'ai bien vu ta macro , mais je ne peux pas avec sortir plusieurs photos en automatique ou alors je n'ai pas compris le fonctionnement, désolé,
Il suffit de savoir lire :
' Sélectionner les cellules contenant un lien vers une image et appeler la macro
' AffImage les affichera sur le lien ou dans la colonne de gauche ou de droite
eric
Re,
J'ai adapter le classeur pour afficher du texte sous l'image.
Télécharger
Pour le reste... c'est maintenant à toi de combiner l'exemple d'Eric avec le mien, quand à moi je ne compte pas te faire ton appli en entier.
Eric : dans ton exemple, tu a oublié de mettre un test sur l'InputBox, si pour une raison quelconque ont abandonne le code plante.
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
J'ai adapter le classeur pour afficher du texte sous l'image.
Télécharger
Pour le reste... c'est maintenant à toi de combiner l'exemple d'Eric avec le mien, quand à moi je ne compte pas te faire ton appli en entier.
Eric : dans ton exemple, tu a oublié de mettre un test sur l'InputBox, si pour une raison quelconque ont abandonne le code plante.
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ca fait très longtemps que je me dis que je devrais la reprendre tout remplacer par un formulaire.
Et aussi remplacer les objets images par des rectangles (il y a un bug sur 2007 pour les images récupérées par un lien internet)
Au début c'était un truc tout simple, mais au fur et à mesure des ajouts pour les demandes successives elle commence à ne plus ressembler à rien :-s
Reste à trouver le temps, bientôt peut-être.. ;-)
Je regarderai pour la partie que tu me signales
eric
Et aussi remplacer les objets images par des rectangles (il y a un bug sur 2007 pour les images récupérées par un lien internet)
Au début c'était un truc tout simple, mais au fur et à mesure des ajouts pour les demandes successives elle commence à ne plus ressembler à rien :-s
Reste à trouver le temps, bientôt peut-être.. ;-)
Je regarderai pour la partie que tu me signales
eric
Merci pour ton aide, vraiment,
J'arrive donc a mettre du texte sous les photos, mais cela fonctionne uniquement si j'ai une seul colonne. Si j'ai plusieurs colonne les textes ne suivent plus, il y a le même texte sur toute la colonne.
Tu peux y jeter un Coup d'oeil,
Merci
De plus Comme j'ai dit à Eric Je n'ai pas les compétence pour mixer son Fichier avec le tien aussi cela te gêne si il accepte d'y jeter un coup d'oeil également?
Merci pour ton aide, cette appli va me faire gagner beaucoup de temps, et c'est ce qui manque chez les petits artisans
J'arrive donc a mettre du texte sous les photos, mais cela fonctionne uniquement si j'ai une seul colonne. Si j'ai plusieurs colonne les textes ne suivent plus, il y a le même texte sur toute la colonne.
Tu peux y jeter un Coup d'oeil,
Merci
De plus Comme j'ai dit à Eric Je n'ai pas les compétence pour mixer son Fichier avec le tien aussi cela te gêne si il accepte d'y jeter un coup d'oeil également?
Merci pour ton aide, cette appli va me faire gagner beaucoup de temps, et c'est ce qui manque chez les petits artisans
RE,
En ouvrant ta Macro j'ai vu que tu as laissé des indices, Non?
Il est donc possible de ce servir de la liste qui est sur la feuille data, c'est exactement ce dont j'ai besoin,
J'ai besoin que ta macro ne génère pas la liste sur la feuille data, car je peux la remplir par extraction. J'ai donc besoin que ton appli puisse utiliser cette feuille data remplis par moi et extraire les photos selon ta macro sous image ( qui est super)
Pour moi le langage VBA est du chinois alors comment faire? ou mettre exit fonction?
En ouvrant ta Macro j'ai vu que tu as laissé des indices, Non?
Il est donc possible de ce servir de la liste qui est sur la feuille data, c'est exactement ce dont j'ai besoin,
J'ai besoin que ta macro ne génère pas la liste sur la feuille data, car je peux la remplir par extraction. J'ai donc besoin que ton appli puisse utiliser cette feuille data remplis par moi et extraire les photos selon ta macro sous image ( qui est super)
Pour moi le langage VBA est du chinois alors comment faire? ou mettre exit fonction?
désolé de remonter un vieux sujet
lermite222, bravo pour votre appli,
ça fait un moment que je cherche comment créer un catalogue d'images à partir d'un répertoire
je ne connait pas la programmation VBA mais j'ai réussi à combiner la version V3 (avec zoom) et la version modifié avec l'ajout de texte
mon souci, c'est que le texte que je veux ajouter en bas de l'image, correspond au nom du fichier
exple mon chemin est : c:\....\nomimage.jpg donc je veux que le texte à insérer soit "nomimage"
est ce que vous pouvez m'aider ?
merci d'avance
J'ai dû un peu me replonger dans l'appli, c'était plus tout frais à ma mémoire :-)
Dans le module Images tu recherche la fonction insere_image_ratio()
Dans le bas de la sub, modifie l'affichage du texte comme suit...
A+
...
j'y suis arrivé en fin de compte
ci dessous ce que j'ai fait (je sais ça fait trop amateur)
j'ai copié le chemin dans une une autre colonne et j'ai effectué dessus une formule (trouvé sur le net) pour extraire le nom de l'image. ça marche parfaitement
mais votre solution est plus pro
merci pour votre aide
If AffiTexte Then
With Cells(Lig, Col)
.Font.Size = SizeTexte
.Font.Color = ColorTexte
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.ShrinkToFit = True
End With
Sheets("Data").Cells(NumImage, 6) = Split((Left((Sheets("Data").Cells(NumImage, 1).Value), Len((Sheets("Data").Cells(NumImage, 1).Value)) - 4)), "\")(UBound(Split((Left((Sheets("Data").Cells(NumImage, 1).Value), Len((Sheets("Data").Cells(NumImage, 1).Value)) - 4)), "\")))
ActiveSheet.Cells(Lig, Col).Value = Sheets("Data").Cells(NumImage, 6)
Incr LigText
End If
pourquoi vous ne publiez pas une version 4 de votre appli avec ce rajout ?