Importer une photo dans un userform VBA
Résolu/Fermé
Meloooooo
Messages postés
10
Date d'inscription
dimanche 17 novembre 2013
Statut
Membre
Dernière intervention
27 février 2014
-
Modifié par pijaku le 22/11/2013 à 12:56
Johann - 6 sept. 2015 à 14:05
Johann - 6 sept. 2015 à 14:05
A voir également:
- Userform image
- Image iso - Guide
- Acronis true image - Télécharger - Sauvegarde
- Faststone image viewer - Télécharger - Visionnage & Diaporama
- Image iso windows 10 - Guide
- Comment agrandir une image - Guide
23 réponses
Oui, je suis bien sur Excel
L'image est bien dans l'Userform
Et le code dans le bouton image du Userform
Du coup, voici le lien : http://cjoint.com/?3KutMk9ZeFn
Une fois le document ouvert cliquer sur "Entrer", puis "Les Chevaux", puis "Inscrire un nouveau cheval" et enfin cliquer sur l'Image
L'image est bien dans l'Userform
Et le code dans le bouton image du Userform
Du coup, voici le lien : http://cjoint.com/?3KutMk9ZeFn
Une fois le document ouvert cliquer sur "Entrer", puis "Les Chevaux", puis "Inscrire un nouveau cheval" et enfin cliquer sur l'Image
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
22 nov. 2013 à 11:10
22 nov. 2013 à 11:10
Dans les références ajouter Ole Automation
Avec ça plus d'erreur mais comme dis plus haut l'image be se dessine pas
Ajouter un bouton (à la place de Cliquez ci-dessous pour ajouter une photo et mettre le code dans ce bouton.
A+
Avec ça plus d'erreur mais comme dis plus haut l'image be se dessine pas
Ajouter un bouton (à la place de Cliquez ci-dessous pour ajouter une photo et mettre le code dans ce bouton.
A+
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
22 nov. 2013 à 13:23
22 nov. 2013 à 13:23
Pour répondre à ta deuxième question ainsi que dans ma feuille de calcul excel...?
Ton classeur est déjà suffisamment "lourd" pour encore y ajouter toutes les photos.
Je te conseillerais plutôt de ...
Créer un sous-répertoire pour tes images chevaux
dans le bouton valider copier l'image sélectionnée dans ce répertoire. avec un nom significatif comme par exemple Clientxx.jpg
De cette façon, quand tu en a besoin tu n'a que de les recharger.
A+
Ton classeur est déjà suffisamment "lourd" pour encore y ajouter toutes les photos.
Je te conseillerais plutôt de ...
Créer un sous-répertoire pour tes images chevaux
dans le bouton valider copier l'image sélectionnée dans ce répertoire. avec un nom significatif comme par exemple Clientxx.jpg
De cette façon, quand tu en a besoin tu n'a que de les recharger.
A+
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 18/11/2013 à 02:53
Modifié par lermite222 le 18/11/2013 à 02:53
Bonjour,
importer une image, rien de plus facile
Dans l'Userform une PictureBox
Sélectionner la cellule et..
Voire cette démo
A+
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. Et ma boule de cristal est cassée .
importer une image, rien de plus facile
Dans l'Userform une PictureBox
PictureBox1.Picture = LoadPicture(Chemin & nomimage)dans une feuille
Sélectionner la cellule et..
ActiveSheet.Pictures.Insert(Chemin & nomImage).SelectSeulement, avec ça tes images seront déformées, si tu veux garder le ratio c'est beaucoup plus compliquer.
Voire cette démo
A+
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. Et ma boule de cristal est cassée .
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Meloooooo
Messages postés
10
Date d'inscription
dimanche 17 novembre 2013
Statut
Membre
Dernière intervention
27 février 2014
18 nov. 2013 à 17:11
18 nov. 2013 à 17:11
Merci beaucoup pour votre réactivité :)
J'ai installé cet élément dans ma macro, mais un message d'erreur s'affiche "Erreur de compilation : Sub ou Function non définie" et le déblogage me met ne surbrillance "loadpicture", savez vous d'où celà peut provenir ?
J'ai installé cet élément dans ma macro, mais un message d'erreur s'affiche "Erreur de compilation : Sub ou Function non définie" et le déblogage me met ne surbrillance "loadpicture", savez vous d'où celà peut provenir ?
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 18/11/2013 à 19:26
Modifié par lermite222 le 18/11/2013 à 19:26
Explique où se situe le code ? dans le module de l'UserForm ?
En VBA c'est pas PictureBox mais Image
Montre la ligne exacte et complète où se situe l'erreur.
EDIT:
Pour centrer l'image met les propriétés..
PictureAlignment à 2
PictureSizeMode à 3
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. Et ma boule de cristal est cassée .
En VBA c'est pas PictureBox mais Image
Image1.Picture = LoadPicture("C\Repertoire\Image1.Jpg")
Montre la ligne exacte et complète où se situe l'erreur.
EDIT:
Pour centrer l'image met les propriétés..
PictureAlignment à 2
PictureSizeMode à 3
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. Et ma boule de cristal est cassée .
Meloooooo
Messages postés
10
Date d'inscription
dimanche 17 novembre 2013
Statut
Membre
Dernière intervention
27 février 2014
Modifié par pijaku le 22/11/2013 à 12:56
Modifié par pijaku le 22/11/2013 à 12:56
Je te remercie vraiment pour ton aide :)
Pour Image et non PictureBox, merci mais je m'en étais douté ;)
Je n'arrive pas à insérer de capture d'écran sur le forum, mais voici ma macro (j'ai mis en gras l'endroit ou le déblogage me met en surbrillance et au moment ou il me met le message d'alerte disant que Sub ou Fuction n'est pas défnie):
Cette macro se trouve dans l'Userform et plus précisément dans l'Image.
Par contre, je ne comprends ce que tu veux me dire avec ca :
"EDIT:
Pour centrer l'image met les propriétés..
PictureAlignment à 2
PictureSizeMode à 3 "
Pour Image et non PictureBox, merci mais je m'en étais douté ;)
Je n'arrive pas à insérer de capture d'écran sur le forum, mais voici ma macro (j'ai mis en gras l'endroit ou le déblogage me met en surbrillance et au moment ou il me met le message d'alerte disant que Sub ou Fuction n'est pas défnie):
Private Sub ImageCheval_Click() Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) fd.Show If fd.SelectedItems.Count > 0 Then MsgBox fd.SelectedItems(1) ImageCheval.Picture = <gras>loadpicture</gras>(fd) End If Set fd = Nothing End Sub
Cette macro se trouve dans l'Userform et plus précisément dans l'Image.
Par contre, je ne comprends ce que tu veux me dire avec ca :
"EDIT:
Pour centrer l'image met les propriétés..
PictureAlignment à 2
PictureSizeMode à 3 "
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
18 nov. 2013 à 20:10
18 nov. 2013 à 20:10
ImageCheval.Picture = LoadPicture(fd.SelectedItems(1))
Pour l'Edit:
En mode édition, clic droit sur le contrôle image -> Propriétés
Dans le fenêtre Propriétés tu va comprendre ce que je veux dire.
A+
Meloooooo
Messages postés
10
Date d'inscription
dimanche 17 novembre 2013
Statut
Membre
Dernière intervention
27 février 2014
Modifié par pijaku le 22/11/2013 à 12:56
Modifié par pijaku le 22/11/2013 à 12:56
Effectivement je comprends beaucoup mieux maintenant pour les propriétés ;) Merci beaucoup, j'ai changé comme vous me l'avez dit !
J'ai aussi changé selon vos conseils le loadpicture, mais j'ai encore le message d'alerte provenant du loadpicture me disant "Erreur de compilation : Sub ou Function non définie".
Je ne comprends vraiment pas...
Sans vouloir abuser de votre gentillesse, vous avez une nouvelle idée concernant le message d'alerte ?
J'ai aussi changé selon vos conseils le loadpicture, mais j'ai encore le message d'alerte provenant du loadpicture me disant "Erreur de compilation : Sub ou Function non définie".
Je ne comprends vraiment pas...
Private Sub ImageCheval_Click() Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) fd.Show If fd.SelectedItems.Count > 0 Then MsgBox fd.SelectedItems(1) ImageCheval.Picture = <gras>[/contents/1171-vbscript-fonctions-diverses LoadPicture]</gras>(fd.SelectedItems(1)) End If Set fd = Nothing End Sub
Sans vouloir abuser de votre gentillesse, vous avez une nouvelle idée concernant le message d'alerte ?
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
19 nov. 2013 à 06:04
19 nov. 2013 à 06:04
Dans l'éditeur clic sur le menu..
Outils => Références.
Dans la fenêtre, n'y aurait-il pas une référence marquée "MANQUANT" ?
si Oui, dis la quelle.
Outils => Références.
Dans la fenêtre, n'y aurait-il pas une référence marquée "MANQUANT" ?
si Oui, dis la quelle.
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
20 nov. 2013 à 12:10
20 nov. 2013 à 12:10
Je remarque qu'il y a un problème avec le contrôle image, chez moi ça ne bug pas mais l'image ne veux pas se mettre dans le contrôle.
Essaye en mettant le code dans un bouton.
Essaye en mettant le code dans un bouton.
Je viens de mettre ma macro dans un "CommandButton" et ca me fait exactement le même problème que lorsque la macro est dans une "Image", c'est à dire que le debogage me bloque sur loadpicure en me le mettant en surbrillance...
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
20 nov. 2013 à 18:56
20 nov. 2013 à 18:56
Tu est bien sur Excel ?
L'image est bien sur un UserForm ?
Le code est dans le module de l'Userform ?
Je ne vois pas d'autre raison qui pourrait créer ce problème.
J'ai vérifié dans l'aide et testé plusieurs fois...
Éventuellement mettre une copie de ton classeur sur Cjoint.com (sans donnée confidentielle)
Et mettre le lien dans un poste suivant.
A+
L'image est bien sur un UserForm ?
Le code est dans le module de l'Userform ?
Je ne vois pas d'autre raison qui pourrait créer ce problème.
J'ai vérifié dans l'aide et testé plusieurs fois...
Éventuellement mettre une copie de ton classeur sur Cjoint.com (sans donnée confidentielle)
Et mettre le lien dans un poste suivant.
A+
Vous êtes FORMIDABLE, ca fonctionne !!!! :D
Un grand merci à vous et merci pour votre grande patience ! :)
Un grand merci à vous et merci pour votre grande patience ! :)
Meloooooo
Messages postés
10
Date d'inscription
dimanche 17 novembre 2013
Statut
Membre
Dernière intervention
27 février 2014
24 déc. 2013 à 19:11
24 déc. 2013 à 19:11
Bonsoir,
J'avais du laisser un peu de côté mon projet VBA, il est maintenant à rendre pour très très bientôt. Tout est quasi fini, mais je pensais pouvoir finir l'enregistrement de la photo toute seule en enregistrant les photos des chevaux dans un sous répertoire lorsque l'utilisateur clique sur "valider" (comme vous me l'aviez conseillé), mais j'arrive pas vraiment. Je suis allée fuiner dans des livres et sur internet mais je ne vois aucun sujet sur un forum qui pourrait correspondre au mien, Lermite, pouvez-vous de nouveau m'aider svp en m'indiquant comment procéder ?
J'avais du laisser un peu de côté mon projet VBA, il est maintenant à rendre pour très très bientôt. Tout est quasi fini, mais je pensais pouvoir finir l'enregistrement de la photo toute seule en enregistrant les photos des chevaux dans un sous répertoire lorsque l'utilisateur clique sur "valider" (comme vous me l'aviez conseillé), mais j'arrive pas vraiment. Je suis allée fuiner dans des livres et sur internet mais je ne vois aucun sujet sur un forum qui pourrait correspondre au mien, Lermite, pouvez-vous de nouveau m'aider svp en m'indiquant comment procéder ?
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 25/12/2013 à 00:28
Modifié par lermite222 le 25/12/2013 à 00:28
Re,
Tout en haut du module, tu met
Dans la sub qui te permet de mettre l'image dans l'Image, juste en dessous de..
Dans le code du bouton Valider
Tu dis
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. Et ma boule de cristal est cassée .
Tout en haut du module, tu met
Dim MemoImage as String
Dans la sub qui te permet de mettre l'image dans l'Image, juste en dessous de..
ImageCheval.Picture = LoadPicture(fd.SelectedItems(1)) 'Tu met MemoImage = fd.SelectedItems(1)
Dans le code du bouton Valider
Dim Destination as string Destination = "C:\Répertoire\Répertoire des images\Client" & NumClient & ".jpg" FileCopy MemoImage, Destination
Tu dis
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. Et ma boule de cristal est cassée .
Meloooooo
Messages postés
10
Date d'inscription
dimanche 17 novembre 2013
Statut
Membre
Dernière intervention
27 février 2014
25 déc. 2013 à 20:04
25 déc. 2013 à 20:04
Bonsoir,
Tout d'abord un grand merci pour votre réactivité.
J'ai tout mis comme vous m'avez dit, aucun problème détecté par le debogage. Par contre, la photo ne s'enregistre pas dans le répertoire....
On est bien d'accord que je dois remplacer "C:\Répertoire\Répertoire des images\Client" par le chemin propre à mon ordinateur et à mon répertoire ?
Tout d'abord un grand merci pour votre réactivité.
J'ai tout mis comme vous m'avez dit, aucun problème détecté par le debogage. Par contre, la photo ne s'enregistre pas dans le répertoire....
On est bien d'accord que je dois remplacer "C:\Répertoire\Répertoire des images\Client" par le chemin propre à mon ordinateur et à mon répertoire ?
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
26 déc. 2013 à 06:09
26 déc. 2013 à 06:09
Comment tu numérote les clients ?
Pour tester..
Met le résultat dans un poste suivant.
A+
Pour tester..
'Après la ligne.. Destination = "C:\Répertoire\Répertoire des images\Client" & NumClient & ".jpg" 'Tu ajoute MsgBox "Image = " & MemoImage & Chr(13) & "NumClient =" & NumClient _ & Chr(13) & "Destination = " & Destination
Met le résultat dans un poste suivant.
A+
Meloooooo
Messages postés
10
Date d'inscription
dimanche 17 novembre 2013
Statut
Membre
Dernière intervention
27 février 2014
26 déc. 2013 à 11:30
26 déc. 2013 à 11:30
Merci beaucoup de votre réponse.
J'ai trouvé d'ou venait mon erreur, il me manquait un "\" à la fin de mon chemin.
Du coup, voici mon chemin :
Destination = "C:\Users\Méloo\Documents\Photos Chevaux\& InscriptionChevaux.NomCheval.Value & .jpg"
Mon problème maintenant est que j'aimerais que le nom de ma photo change à chaque inscription et qu'elle prenne le nom du cheval. Mais, avec ce chemin, InscriptionChevaux.NomCheval.Value ne change jamais, du coup toutes les photos ont le même nom et à chaque inscription, la nouvelle photo écrase l'ancienne...
J'ai essayé de créer une variable, mais à chaque fois c'est pareil, le nom de change pas...
Avez-vous une idée svp ?
J'ai trouvé d'ou venait mon erreur, il me manquait un "\" à la fin de mon chemin.
Du coup, voici mon chemin :
Destination = "C:\Users\Méloo\Documents\Photos Chevaux\& InscriptionChevaux.NomCheval.Value & .jpg"
Mon problème maintenant est que j'aimerais que le nom de ma photo change à chaque inscription et qu'elle prenne le nom du cheval. Mais, avec ce chemin, InscriptionChevaux.NomCheval.Value ne change jamais, du coup toutes les photos ont le même nom et à chaque inscription, la nouvelle photo écrase l'ancienne...
J'ai essayé de créer une variable, mais à chaque fois c'est pareil, le nom de change pas...
Avez-vous une idée svp ?