Macro pour Fichier Photo sous excel

Résolu/Fermé
cesam69 - 18 mars 2011 à 17:02
AniSal Messages postés 2 Date d'inscription samedi 5 octobre 2013 Statut Membre Dernière intervention 6 octobre 2013 - 6 oct. 2013 à 18:31
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



A voir également:

8 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
20 mars 2011 à 01:09
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+
2
un grand merci , Bravo pour l'appli
0
AniSal Messages postés 2 Date d'inscription samedi 5 octobre 2013 Statut Membre Dernière intervention 6 octobre 2013
6 oct. 2013 à 00:53
Bonjour,

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
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 6/10/2013 à 15:39
Bonjour,
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...
        If AffiTexte Then
Dim TB
TB = Split(Sheets("Data").Cells(NumImage, 1).Value, "\")
With ActiveSheet.Cells(Lig, Col)
.Font.Size = SizeTexte
.Font.Color = ColorTexte
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.ShrinkToFit = True
.Value = TB(UBound(TB))
End With
Incr LigText
End If
A+
...
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par baladur13 le 6/10/2013 à 16:01
Si tu ne veux pas l'extention du fichier...
     .Value = Left(TB(UBound(TB)), Len(TB(UBound(TB))) - 4)
0
AniSal Messages postés 2 Date d'inscription samedi 5 octobre 2013 Statut Membre Dernière intervention 6 octobre 2013
6 oct. 2013 à 18:31
après avoir posté hier mon message, j'ai continué à me casser la tête

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 ?
0
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216
18 mars 2011 à 19:09
Bonjour,

Un fichier que j'avais réalisé pour une demande similaire : AffImage.xls
Les explications sont dedans.

eric
0
Merci pour Ton aide,
La réponse de lermite22 correspond plus à mes besoins.
Mais sachant que tu est doué en VBA tu peux sans doute m'aider :
A savoir 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?
0
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216
18 mars 2011 à 20:14
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
0
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
0
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216
18 mars 2011 à 21:44
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
0
OK Je comprends, Je connais mal les usages , alors je vais attendre lermite

Merci encore
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
18 mars 2011 à 19:28
Bonjour,
Tu peu aussi voir ce tuto
A+
0
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
0
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
0

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

Posez votre question
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 18/03/2011 à 23:32
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.
0
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
0
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216
19 mars 2011 à 10:12
RE,

J'ai l'impression que tu n'as même pas ouvert le fichier que j'ai mis au post 1...
eric
0
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.
0
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216
20 mars 2011 à 11:33
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
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 19/03/2011 à 13:35
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.
0
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216
Modifié par eriiic le 19/03/2011 à 13:42
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
0
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
0
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?
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
19 mars 2011 à 14:27
Salut le fil,

Ci joint un fichier sans VBA que j'avais écrit pour une discussion, il suffit de sélectionner un exercice cellule jaune, cellule verte le nom de l'exercice s'affiche et au dessous le détail, à tester

http://cjoint.com/?1dtoyQjvnOR
0
Merci Mike,

c'est pas exactement ce que je recherche, mais cela pourra sans doute me servir pour d'autre applications

Merci encore
0