> Tous les forums > Forum Bureautique
 Intégrer automatiquement des photos dans excel ?
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
carineb
  Posté le 30/03/2008 @ 15:27 
Aller en bas de la page 
Petite astucienne

Bonjour,

Voici une question qui concerne mon boulot.

Je dois tenir à jour un catalogue de produits sur excel avec plein d'infos : reference, nom du produit, caractéristiques... et PHOTOS ! Les infos d'un produit sont sur une seule ligne et à la fin de la ligne j'ai une cellule avec une petite photo.

Ce dernier point me pose problème car quand je dois ajouter un produit avec une photo c'est vite fait mais quand je dois intégrer 400 produits j'y passe des jours entiers.

Y a-t-il un moyen pour intégrer automatiquement l'image sachant que je reçois toutes les photos en .jpg avec un nom de fichier qui est la reference (la même que celle que j'ai dans la 1ère colonne de mon fichier excel).

Merci

Publicité
galopin01
 Posté le 30/03/2008 à 21:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonjour,

Le minimum est de savoir quelle version d'excel et d'avoir un aperçu de ton travail.

Il serait utile également de savoir comment tu incorpores tes images actuellement ?(Insertion/image/Depuis le fichier... ou autre... ?)

Les images sont elles prévues pour s'adapter exactement à tes cellules ou faut-il redimensionner les cellules (ou les images...)

De manière plus particulière il est insdispensable de connaitre la colonne ou se trouve le nom du produit et la colonne de l'image.

A+

ferrand
 Posté le 30/03/2008 à 21:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonsoir,

et les autres informations, comment les intègres-tu ?

pourquoi ne poses-tu un problème d'insertion que pour les photos ?

carineb
 Posté le 30/03/2008 à 21:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Nous avons la version Excel 2003.

Avant d'incorporer les photos je mets toutes les lignes à une hauteur d'environ 100 pixels.

Pour incorporer les images je fais : Insertion/Images/A partir du fichier...

Je remets les photos à la dimension des cellules lorsqu'elles sont trop grandes mais jusqu'à présent elles sont à peu près toutes aux bonnes dimensions. En cas de besoin, je sais qu'il existe un logiciel qui me permettrait de redimensionner d'un seul coup un grand nombre d'images (mais je ne me souviens plus du nom de ce logiciel !).

Je dois également aller dans les propriétés de l'image pour sélectionner l'option : "déplacer et dimensionner avec les cellules"

Et pour un aperçu de mon travail...

Col A : référence du produit : AH001, AH002, BF001, BF002, 26KHA123, 26KHA124...

Col B : nom des produits

Col C : caractéristiques des produits (couleur, ou dimension, matériau...)

Col D à G : données logistiques (nombre de produits par carton, carton par palettes...)

Col H : gencod (code à 13 chiffres)

Col I : photo du produit

carineb
 Posté le 30/03/2008 à 21:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne
ferrand a écrit :

bonsoir,

et les autres informations, comment les intègres-tu ?

pourquoi ne poses-tu un problème d'insertion que pour les photos ?


Les autres infos je les reçois sur un fichier excel (soit par mes fournisseurs soit par le service achat de l'entreprise). Donc c'est très simple : je mets les colonnes dans le bon ordre par rapport à mon fichier catalogue puis je fais un copier coller des lignes qui concernent les nouveaux produits et je les mets sous les lignes existantes de mon fichier. Puis je fais un tri par référence. Et voilà, en 2 temps 3 mouvements c'est fait. Mais, pour les photos, je galère...

ferrand
 Posté le 30/03/2008 à 22:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Re, donc si je comprends bien, tu reçois un fichier excel de mise à jour structuré de la même façon que ton fichier de travail et par ailleurs des fichiers photos individuels qu'il faut insérer ?

A priori, il conviendrait d'intégrer dans le fichier de mise à jour pour le compléter la photo dont le nom correspond à celui figurant en col. A en l'attachant à la cellule de la col. I de la même ligne. Et automatiser ce processus.

Ensuite fusionner ces données de mise à jour avec celles du fichier de travail et trier. Eventuellement automatiser aussi cette 2e phase.

Bon, je vais pas me lancer là-dessus cette nuit. Et Galopin qui s'est déjà branché sera plus rapide que moi. Confirme quand même d'abord (ou non) ma compréhension de ton affaire...

A plus tard.

carineb
 Posté le 30/03/2008 à 22:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne
ferrand a écrit :

Re, donc si je comprends bien, tu reçois un fichier excel de mise à jour structuré de la même façon que ton fichier de travail et par ailleurs des fichiers photos individuels qu'il faut insérer ?

A priori, il conviendrait d'intégrer dans le fichier de mise à jour pour le compléter la photo dont le nom correspond à celui figurant en col. A en l'attachant à la cellule de la col. I de la même ligne. Et automatiser ce processus.

Ensuite fusionner ces données de mise à jour avec celles du fichier de travail et trier. Eventuellement automatiser aussi cette 2e phase.

Bon, je vais pas me lancer là-dessus cette nuit. Et Galopin qui s'est déjà branché sera plus rapide que moi. Confirme quand même d'abord (ou non) ma compréhension de ton affaire...

A plus tard.


Oui, c'est ça. J'ai :

- mon fichier excel (appellons le catalogue.xls)

- un dossier nommé "photos" qui contient toutes les photos qui sont nommées : AH001.jpg, AH002.jpg, BF001.jpg, BF002.jpg, 26KHA123.jpg, 26KHA124.jpg... Ces photos viennent soit des fournisseurs, soit de mon service achat, soit de l'appareil photo du service quand nous prenons nous-même les photos à partir des échantillons reçus.

Pour les infos "textes" qui sont présentes dans mon fichier catalogue.xls :

- soit je reçois un fichier xls de nos fournisseurs ou du service achat avec les infos. Pour intégrer ces données je n'ai qu'à supprimer les colonnes qui ne me concernent pas dans le fichier que je reçois puis faire un copier coller des infos qui m'intéressent. (ça me prend 30 secondes, donc pas besoin de se pencher sur cette partie).

- soit j'intègre les infos à la main (car parfois je reçois ces infos dans un fichier word ou dans un mail mais c'est très rare). Ceci ne me pose pas de problème, donc on n'a pas besoin de se pencher sur cette question !

Donc, une fois que mon fichier catalogue.xls est mis à jour avec les infos reçues, je souhaiterais faire automatiquement un "lien" entre la référence qui est en colonne A et les photos qui sont dans mon dossier "photos". Tu me proposes de faire cette opération en 2 temps : intégrer la photo dans le fichier de mise à jour puis fusionner avec le fichier final catalogue.xls, mais je pense que le plus simple est de travailler directement sur le fichier catalogue une fois que j'y ai mis les infos de mise à jour.

J'imagine ça comme quelque chose qui ressemblerait à une "recherve V" et qui aurait comme condition : quand la cellule B1 = nom de fichier.jpg, coller la photo. Mais, je sais que ça n'est pas cette fontion qu'il faut utiliser !



Modifié par carineb le 30/03/2008 23:00
galopin01
 Posté le 30/03/2008 à 23:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonjour,

tout ça me semble bien complexe pour faire dans le cadre du forum et sans le le moindre fichier joint.

J'imagine qu'une macro du type For each o in Selection devrait permetre d'insérer l'image automatiquement en colonne I. Après, tous les réglages... ça dépend de la virtuosité de l'utilisateur pour finaliser.

A la tronçonneuse, ça devrait donner :

Sub Test()
For Each o In Selection
o.Activate
Z = o.Offset(0, -8) & ".jpg"
ActiveSheet.Pictures.Insert ("C:\
chemin\" & Z)
Next
End Sub

A+

galopin01
 Posté le 30/03/2008 à 23:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Sorry j'avais pas vu tes précisions. De toute façon ça n'apporte rien de nouveau.

Dans la macro il suffira de remplacer chemin par le chemin complet de ton dossier photos.

Et sélectionner toutes les cellules de la colonne I ou tu veux incorporer les photos avant de lancer la macro.

A+

Publicité
carineb
 Posté le 30/03/2008 à 23:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Ahhhhhh... une macro...

Je n'ai jamais touché à ça, mais il y a tellement longtemps que j'en entends parler qu'il faut bien que je m'y mette un jour !

J'ai un bouquin de formation excel alors je vais y jeter un coup d'oeil pour savoir comment intégrer la macro.

Si j'ai un problème je reviens !

Merci

galopin01
 Posté le 31/03/2008 à 05:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonjour,

tu trouveras également ici un tuto suffisant. Il indispensable de bien t'en imprégner.

Toutefois vu que tu n'as jamais touché à VBA, nous allons procéder différemment car nous avons en plus un problème, c'est la détermination de ton chemin.

Je te recommande donc d'exécuter avec méticulosité les instructions suivantes :

Copier / Coller le texte de la macro suivante dans un petit fichier text (Wordpad par exemple) et imprimer le présent mode opératoire pour opérer avec plus de confort.

Sub InsImg()
On Error Resume Next

For Each o In Selection
o.Activate
Z = o.Offset(0, -8) & ".jpg"
ActiveSheet.Pictures.Insert (chemin
& Z)
Next
End Sub

Le petit fichier WordPad étant supposé ouvert dans la barre des taches...

1- Faire une copie de secours sur une clef USB ou dans un autre dossier de ton classeur de travail.

Nous allons ensuite enregistrer une macro qui te permette de connaître le chemin de ton dossier image.

Il suffit d'ouvrir ton classeur de travail (sur une nouvelle feuille) par exemple.

Dans le menu choisir Outils / Macro / Nouvelle macro... et valider par Ok le nom de la macro qui est sans importance.

Aussitot après faire Insertion / Image / A partir du fichier... et choisir une image à partir de ton dossier image.

L'image étant maintenant insérée, stopper la macro en cours en faisant Outils / Macro / Arrêter l'enregistrement.

Tu peux maintenant supprimer cette feuille de travail qui ne nous est plus d'aucune utilité.

Nous allons maintenant modifier la macro que tu as enregistré et la remplacer par celle que je t'ai donné :

Faire Outils / Macro / Modfier (ou Alt + F8) et cliquer sur le bouton Modifier

Tu dois peu ou prou te retrouver devant la macro suivante :

Nous ne nous intéressons qu'à la partie entre guillemets qui constitue le chemin (sauf le nom du fichier)

Supprimer tout le reste de cette macro et ne conserver que cette partie entre guillemets (sans le nom du fichier)

au début de la ligne restante écrire Const chemin =

Tu dois donc maintenant te retrouver avec ton chemin dans les conditions suivantes :

Dans mon exemple le chemin commence par "C et se termine par \" Sur ton poste le chemin peut-être très différent :

L'important est qu'il commence par un " et se termine par \"

il ne te reste plus qu'a récupérer ma macro dans ton Workpad et la Copier / Coller en dessous de cette ligne

La macro est maintenant prête à fonctionner.

A ce stade il ne reste plus qu'a retourner sur Excel par la barre des taches ou (Alt+Q)

Une première sauvegarde s'impose ! (Ctrl+S)

Sélectionner (colonne I) toutes les cellules qui doivent recevoir une image (et qui ont donc le nom de cette image correspondant en colonne A)

Cette sélection étant faite, croiser les doigts... et faire Outils / Macro / Macros... Exécuter

Nota : La macro ne s'occupe pas de dimensionner les images au format de la cellule : Ceci est une autre aventure...

En cas de problème, les noter avec précision ainsi que les messages d'erreurs éventuels.

A ce soir !



Modifié par galopin01 le 31/03/2008 07:02
ferrand
 Posté le 31/03/2008 à 07:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Salut galopin,

pour l'aspect didactique

mais rien ne garantit que le dossier images sera toujours au même endroit si on ne spécifie pas qu'il doit être systématiquement chargé dans un endroit déterminé, dans le dossier contenant le classeur de travail (par exemple mais pas par hasard) et dans ce cas on pourrait se contenter de :

chemin = ThisWorkbook.Path & "\nomdudossierImages\"

chemin qui demeurera stable. A +

ferrand
 Posté le 31/03/2008 à 08:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Carine,

Précision pour le redimensionnement éventuel : largeur de la col. I (et en quelle unité) ?

Bonne journée

galopin01
 Posté le 31/03/2008 à 19:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bah ! ça me semblait le plus simple sans vraiment entrer dans les détails. Il est évident que si ensuite on balade le répertoire source ailleurs, le chemin va changer...¨

Personnellement ça me viendrait pas à l'idée de mettre des fichiers images dans un répertoire Excel mais après tout pourquoi pas.

Dans l'immédiat il me semble qu'on peut se contenter de mon mode opératoire. Il sera toujours temps de voir ensuite, si notre ami est accroc aux macros, quelle amélioration on peut apporter...

A+

carineb
 Posté le 31/03/2008 à 21:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Merci, vous êtes des anges.

Je n'ai pas eu le temps de faire des essais mais j'ai bien pris note de tout ce que vous avez expliqué. Je ferai mes essais la semaine prochaine au boulot.

ferrand
 Posté le 31/03/2008 à 22:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Salut,

Pas trop le temps, je ne fais que passer.

Galopin, reste le redimensionnement éventuel (si image supérieure à la taille de la cellule), le positionnement et l'attachement à la cellule, d'où ma question à Carine sur la largeur de la colonne (dont on connait la hauteur). Mais attendons que la question vienne d'elle-même...

je reviendrais

carineb
 Posté le 31/03/2008 à 23:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Pour la largeur, des colonnes c'est 150 pixels.

Publicité
ferrand
 Posté le 31/03/2008 à 23:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

OK, fais d'abord tes essais et reviens dire...

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Excel 2003 Chercher infos automatiquement dans BD
Intégrer des photos redimensionnées dans un doc
Comment intégrer des données Excel dans Word ?
Insérer automatiquement des photos dans document
INSERE DES PHOTOS DANS EXCEL
intégrer un document dans excel
Heure automatiquement remise à jour dans excel
2 pages par feuille dans macro excel
Gérer N° chèque automatiquement dans Compte et budget
Changement dans Excel 2010 ?
Plus de sujets relatifs à Intégrer automatiquement des photos dans excel ?
 > Tous les forums > Forum Bureautique