Catalogue d'images sur Excel en VBA
Fermé
milomss
Messages postés
5
Date d'inscription
mardi 12 août 2008
Statut
Membre
Dernière intervention
29 août 2008
-
12 août 2008 à 06:46
milomss - 13 août 2008 à 23:20
milomss - 13 août 2008 à 23:20
A voir également:
- Catalogue d'images sur Excel en VBA
- Liste déroulante excel - Guide
- Mise en forme conditionnelle excel - Guide
- Si et excel - Guide
- Calculer une moyenne sur excel - Guide
- Comment aller à la ligne sur excel - Guide
7 réponses
Bonjour
Mon problème est que je ne sais pas comment gérer le fait que c'est le client qui décide de sa présentation ( il décide le nombre d'images à afficher par page )
Si tu as un nombre à l'avance tu sais faire ? L'emplacement des images est fixe ?
Est-ce que tu dois refaire toute la macro si tu veux changer le nombre d'images ?
Tu peux peux être récupérer le nombre d'images à afficher soit dans une cellule soit dans une *inputbox* qui *demandera* au client combien d'images il souhaite afficher.
FAQ MS-Excel - Club d'entraide des développeurs francophones :
https://excel.developpez.com/faq/?page=FenetresExcel
Sommaire > Les boîtes de dialogues intégrées
Comment utiliser l'assistant formulaire dans Excel 2007 ?
Comment choisir un fichier sur le PC et récupérer son nom (utilisation de GetOpenFilename) ?
Comment choisir un répertoire (utilisation de BrowseForFolder) ?
Comment utiliser la boîte de dialogue FileDialog ?
Quelles différences entre FindFile et GetOpenFilename ?
Comment utiliser les MsgBox ?
Quelle est la différence entre InputBox et Application.InputBox ?
Comment afficher un MsgBox temporaire ?
Comment créer et utiliser des fenêtres de message étendues ?
Comment utiliser le compagnon Office par macro ?
Comment utiliser les MS agents dans Excel ?
Comment afficher les boîtes de dialogue intégrées par macro ?
Comment créer une barre de progression dans la barre d'état ?
Pourquoi j'ai parfois un message d'erreur lorsque j'utilise le formulaire (grille de données) ?
"La fonction InputBox affiche une boîte de dialogue permettant à l'utilisateur de saisir un texte. La fonction renvoie l'information en donnée de type String, lorsque vous cliquez sur le bouton OK. Si l'utilisateur clique sur le bouton Annuler ou sur la croix de fermeture, une chaîne vide est renvoyée."
Merci
Mon problème est que je ne sais pas comment gérer le fait que c'est le client qui décide de sa présentation ( il décide le nombre d'images à afficher par page )
Si tu as un nombre à l'avance tu sais faire ? L'emplacement des images est fixe ?
Est-ce que tu dois refaire toute la macro si tu veux changer le nombre d'images ?
Tu peux peux être récupérer le nombre d'images à afficher soit dans une cellule soit dans une *inputbox* qui *demandera* au client combien d'images il souhaite afficher.
FAQ MS-Excel - Club d'entraide des développeurs francophones :
https://excel.developpez.com/faq/?page=FenetresExcel
Sommaire > Les boîtes de dialogues intégrées
Comment utiliser l'assistant formulaire dans Excel 2007 ?
Comment choisir un fichier sur le PC et récupérer son nom (utilisation de GetOpenFilename) ?
Comment choisir un répertoire (utilisation de BrowseForFolder) ?
Comment utiliser la boîte de dialogue FileDialog ?
Quelles différences entre FindFile et GetOpenFilename ?
Comment utiliser les MsgBox ?
Quelle est la différence entre InputBox et Application.InputBox ?
Comment afficher un MsgBox temporaire ?
Comment créer et utiliser des fenêtres de message étendues ?
Comment utiliser le compagnon Office par macro ?
Comment utiliser les MS agents dans Excel ?
Comment afficher les boîtes de dialogue intégrées par macro ?
Comment créer une barre de progression dans la barre d'état ?
Pourquoi j'ai parfois un message d'erreur lorsque j'utilise le formulaire (grille de données) ?
"La fonction InputBox affiche une boîte de dialogue permettant à l'utilisateur de saisir un texte. La fonction renvoie l'information en donnée de type String, lorsque vous cliquez sur le bouton OK. Si l'utilisateur clique sur le bouton Annuler ou sur la croix de fermeture, une chaîne vide est renvoyée."
Merci
Rebonjour,
Si ça peut t'aider notamment pour les macros / pour la programmation même si ça date :
Utiliser la librairie Windows Image Acquisition en VBA
https://silkyroad.developpez.com/VBA/WindowsImageAcquisition/
Cette librairie permet de manipuler les images.
Stocker et visualiser des images GIF dans Excel
https://silkyroad.developpez.com/VBA/ExcelImageGIF/
Ce document montre comment visualiser une image GIF animée dans Excel et propose une solution pour stocker cette image directement dans le classeur. Vous pouvez ainsi transférer le classeur sur un autre PC, en ayant toujours l'image GIF disponible dans le fichier Excel.
Les images ne s'affichent pas dans l'ordre ? Elles n'ont pas un emplacement réservées ?
Tu les affiches sur les mêmes emplacements mais en changeant la source = l'images et les données.
Prévois les emplacements à l'avance et affiches les images et les données dans les emplacements.
J'ai sûrement du mal à saisir la difficulté de mise en pratique ; pardon pour l'absence de solution directe.
Merci à tous pour l'aide pratique que vous voudrez bien apporter directement
Si ça peut t'aider notamment pour les macros / pour la programmation même si ça date :
Utiliser la librairie Windows Image Acquisition en VBA
https://silkyroad.developpez.com/VBA/WindowsImageAcquisition/
Cette librairie permet de manipuler les images.
Stocker et visualiser des images GIF dans Excel
https://silkyroad.developpez.com/VBA/ExcelImageGIF/
Ce document montre comment visualiser une image GIF animée dans Excel et propose une solution pour stocker cette image directement dans le classeur. Vous pouvez ainsi transférer le classeur sur un autre PC, en ayant toujours l'image GIF disponible dans le fichier Excel.
Les images ne s'affichent pas dans l'ordre ? Elles n'ont pas un emplacement réservées ?
Tu les affiches sur les mêmes emplacements mais en changeant la source = l'images et les données.
Prévois les emplacements à l'avance et affiches les images et les données dans les emplacements.
J'ai sûrement du mal à saisir la difficulté de mise en pratique ; pardon pour l'absence de solution directe.
Merci à tous pour l'aide pratique que vous voudrez bien apporter directement
donc je vais me répéter, mais c'est pour mieux que l'on comprenne mon problème.Par exemple dans un devis, il y'a 10 articles, il me faut présenter sous forme de catalogue ces articles par rapport à un nombre d'images/pages définis par l'utilasateur dans une cellule.Si l'utilisateur demande à afficher 6 images par page, il faut que mes images soit affichées de la sorte(avec les caractéristiques de l'articles en dessous ( reference, designation , prix )).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
milomss
Messages postés
5
Date d'inscription
mardi 12 août 2008
Statut
Membre
Dernière intervention
29 août 2008
12 août 2008 à 07:56
12 août 2008 à 07:56
non, justement le probleme est que je ne sais pas comment faire pour gerer le fait que c'est le client qui signale le nombre d'images (nombre d'élements du devis) par page.Donc l'emplacement des images doit se faire selon le nombre choisis.OUI, je peut recuperer le nombre d'images/page dans une variable qui pointe sur une cellule bien sur. Mais apres sa, je ne sais vraiment pas quoi faire pour diposer tout cela ( avec les Elements correspodant aux images ( ref, designation, prix ))
PS : Merci pour votre aide
PS : Merci pour votre aide
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
13 août 2008 à 08:02
13 août 2008 à 08:02
Bonjour,
Pas facile à cerner ton pb, il manque qcq précisions sur la mise en page que tu veux et sur ce qui te bloque exactement.
Apparement tes images sont mises cote à cote... Chacune dans une cellule ?
Si oui tu peux te baser sur les propriétés .left et .top des cellules
.Left = c.Offset(0, i).Left + 2
c : range de ta 1ère cellule recevant une image
i : n° de l'image
+2 : décalage par rapport au bord
et puis il faut tenir compte de la taille de tes images si elles n'ont pas été retaillées à l'avance. Voir si la largeur .Width est compatible avec la largeur de colonne .ColumnWidth
Si les images sont dans une même cellule (ce que l'on apprend dans ton dernier post) et bien additionne la largeur .width (+ le décalage qui sépare chaque image) au fur et à mesure.
Et surtout dis plus précisément ce que tu veux faire et que tu n'arrives pas à faire.
Quel est ton pb exact ????
eric
Pas facile à cerner ton pb, il manque qcq précisions sur la mise en page que tu veux et sur ce qui te bloque exactement.
Apparement tes images sont mises cote à cote... Chacune dans une cellule ?
Si oui tu peux te baser sur les propriétés .left et .top des cellules
.Left = c.Offset(0, i).Left + 2
c : range de ta 1ère cellule recevant une image
i : n° de l'image
+2 : décalage par rapport au bord
et puis il faut tenir compte de la taille de tes images si elles n'ont pas été retaillées à l'avance. Voir si la largeur .Width est compatible avec la largeur de colonne .ColumnWidth
Si les images sont dans une même cellule (ce que l'on apprend dans ton dernier post) et bien additionne la largeur .width (+ le décalage qui sépare chaque image) au fur et à mesure.
Et surtout dis plus précisément ce que tu veux faire et que tu n'arrives pas à faire.
Quel est ton pb exact ????
eric