Insertion simple d'images à partir d'un repertoire

pierre93

XLDnaute Nouveau
Bonjour à tous,

Mille excuses si cette question a déjà été traitée, je n'en ai pas trouvé trace ou tout au moins je n'ai trouvé que des morceaux de réponses que je n'arrive pas forcément à rassembler.

Voici mon problème : J'ai un répertoire avec 350 photos, et j'aimerais les insérer dans un fichier excel de manière automatisée, quelle est la procédure à suivre ? Dans mon fichier excel le nom de l'image peut être dans deux colonnes : une image peut avoir la dénomination de la colonne B et une autre image peut avoir la dénomination de la colonne J. De plus les images ne sont pas au même dimensions et sont bien trop grande pour un fichier excel, l'idéal serait donc de pouvoir aussi redimensionner les photos par la même occasion (n'ayant pas encore photoshop sur mon PC je ne peux pas générer de script sur Photoshop pour homogénéiser mes images) et que les cellules de ma feuille Excel s'adaptent au format préalablement décidé.

Le but de la manip est bien entendu de m'éviter d'insérer les 350 photos à la main et d'avoir un rendu lisible. Je vous mets un exemple en pièce jointe et vous remercie d'avance. Comme je suis pas très malin faudra bien m'expliquer la procédure de A à Z :).
Merci d'avance et bonne journée.
 

Pièces jointes

  • pierre93 080909.zip
    29.5 KB · Affichages: 56

pierre93

XLDnaute Nouveau
Re : Insertion simple d'images à partir d'un repertoire

Bonjour Pierrejean,

Tout d'abord encore une fois merci pour votre aide très précieuse.
J'ai testé la macro, elle fonctionne parfaitement. Par contre dans les filtres il manque certains choix, pour ne pas vous embêter davantage, j'ai cherché à rajouter les choix manquants mais je n'ai pas compris quelle procédure vous avez suivi, ca n'a pas l'air ni d'être un USF, ni une liste de choix classique.
Voici les différents choix que les filtres doivent faire apparaitre :
Colonne A : PDR, NOUV, SPE, SUPP, Nouv été 09, (vide)
Colonne E : Déposable, (vide), Sur commande spé
Colonne H : CDT, (vide)
Pouvez-vous m'expliquer comment faire pour rajouter des choix dans les filtres que vous avez créés afin que je puisse les rajouter moi-même (j'aime bien apprendre en même temps :)
 

pierrejean

XLDnaute Barbatruc
Re : Insertion simple d'images à partir d'un repertoire

Re

Il s'agit de Combobox de la boite a outils Controle (accessibles par Affichage > Barre d'outils > Boite a outils Controle)
La liste est en fait etablie automatiquement a l'ouverture du fichier (macro dans Thisworkbook).Pour faire un mise a jour il suffit donc de remplir les colonnes A E et H puis de fermer enregistrer et rouvrir le fichier
Si besoin est je peux prevoir une macro permettant la mise a jour sans cette procedure
 

pierre93

XLDnaute Nouveau
Re : Insertion simple d'images à partir d'un repertoire

PierreJean je vais encore vous embéter un petit peu enfin de compte :
Si je prends les lignes suivantes de la macro :
Rows(n).RowHeight = 60
Selection.Height = Range("P" & n).Height
Selection.Width = Range("P" & n).Width

Si j'ai bien compris la 1ere ligne définit la hauteur des cellules c'est à dire 60p.
La seconde et la troisième ligne adapte la hauteur et la largeur de la photo à la taille de la cellule de la ou sera placée la photo.
Ma question est la suivante, existe-t-il un moyen de raisonner en % et non en valeur absolue ? Je m'explique imaginons que j'ai une photo de bague et une autre de bracelet, la photo de bracelet (par exemple 200x100) est forcement plus large que la photo de bague (par exemple 100x100). La macro actuelle va appliquer le même processus à toutes les images de sorte à ce que la photo du bracelet garde bien ses proportions mais la photo de la bague elle va se retrouver étirer, puisque le réglage sera identique.
Existe-t-il un moyen pour faire en sorte que la photo garde son ratio hauteur/largeur de façon à ce que les photos ne soient pas écrasées ? Bien entendu cela sous entend que certaines photos ne prendraient pas toute la largeur de la cellule et seraient soit centrées dans la cellule soit collées a gauche ou à droite.
Comme d'habitude je ne sais pas si j'ai été bien clair !!!
 

pierrejean

XLDnaute Barbatruc
Re : Insertion simple d'images à partir d'un repertoire

Re

Puisque tu fais partie de ceux qui aiment à comprendre voici le raisonnement
Soient x et y les dimensions d'origine de l'image
Si l'on souhaite que x devienne 60 par exemple on va lui appliquer le coefficient 60/x
en effet x*60/x =60
on appliquera donc le même coefficient a y d'ou la nouvelle valeur de y: y*60/x

en Vba cela donnera pour le cas qui nous occupe:

Code:
   Rows(n).RowHeight = 60 'Valeur a ajuster
   x = Selection.Height
   Selection.Height = Rows(n).RowHeight
   Selection.Width = Selection.Width * Rows(n).RowHeight  / x

Avec mes felicitations car il n'est pas forcement simple d'interpreter un code dont on n'est pas l'auteur
 
Dernière édition:

pierre93

XLDnaute Nouveau
Re : Insertion simple d'images à partir d'un repertoire

Ok, j'ai compris ! C'est assez logique dans l'absolu mais je n'aurais pas trouvé tout seul.
Pour moi le but est de comprendre le code pour pouvoir me débrouiller tout seul par la suite, car rien ne dit qu'un PierreJean soit toujours disponible !!!
En tout cas merci pour cette aide précieuse.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 677
Messages
2 090 824
Membres
104 677
dernier inscrit
soufiane12