LoadPicture d'une image interne

Signaler
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
 Bonjour à tous,

J'essaie, en vain, d'insérer, dans un UserForm,  une image se trouvant  dans Feuil2 de mon fichier Excel.
-----------------------
UserForm2.Image1.Picture = LoadPicture(Worksheets("Feuil2").Pictures(1))
me retourne comme erreur:
Erreur d'exécution 13: incompatibilité de type
-----------------------
Dim Pict As Picture
Pict = Worksheets("Feuil2").Pictures(1)
UserForm2.Image1.Picture = LoadPicture(Pict)

me retourne comme erreur:

Erreur d'exécution 91: variable objet ou variable de bloc With non définie
-----------------------
MsgBox Worksheets("Feuil2").Shapes(1).Name    me retourne Image 10
MsgBox Worksheets("Feuil2").Pictures(1).Name   me retourne Image 10                
-----------------------

Quelles sont mes erreurs ?

jean-marc

11 réponses

Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Salut JMO,

Cette image que tu as, elle a un chemin d'accès ? Peut-être essayer de charger l'image avec son chemin d'accès...Ou alors faire un "clone" de la picturebox quia l'image dans ton autre feuille.....

A+
Exploreur

 Linux a un noyau, Windows un pépin
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonjour Exploreur,

Ce sont trois Popup d'un automate ($U) que j'ai copié, puis collé (HardCopy)
dans mon fichier Excel (Feuil2, cellules A1, B1 et C1).

D'après les tutoriels que j'ai parcouru, c'est possible (mais déconseillé à cause du poids).
Sinon, est-il possible de les afficher, à la suite, dans une TextBox avec scroolbar ?

La transition vbs->vba n'est pas trop difficile, hormi les déclarations de variable !

@+.
jean-marc
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
LoadPicture est utilisé pour charger une image depuis le disque mais si elle est déjà présente , normalement pas besoin de LoadPicture.

Juste

Pi1.Picture = Pi2.Picture

(a adapter a tes besoin)

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
Salut Julien,

Private Sub Image1_Click()
   Image1.Picture = Worksheets("Feuil2").Pictures(1)
End Sub
me retourne comme erreur:
Erreur d'exécution 13: incompatibilité de type

Par contre, avec l'aide d'un tutoriel, j'ai réussi, tant bien que mal, à placer une image en passant :
- CopyPicture de Worksheets("Feuil2").Pictures(1)
- ActiveSheet.ChartObjects.Add
- .Paste
- .Export en .bmp
-  Delete Chart
- LoadPicture du .bmp
- Delete du .bmp
Je t'explique pas le code et la tête de l'image ! Cela mérite l'asile psychiatrique.
Ce n'est donc pas la solution souhaitée (pour le code, et aussi pour moi ou pour l'asile).

@+.
jean-marc
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Re,

Si tu enregistres l'image sur le disque, puis tu fais un LoadPicture("......") ?
Une idée.....

A+
Exploreur

 Linux a un noyau, Windows un pépin
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Je pense que tu pourrais essayer ainsi... en prenant pour acquis que l'image originale est sur la feuille 2 et que c'est bien une Shape et non pas une Picturebox...

Sheets("Feuil2").Shapes("Picture 1").CopyPicture xlScreen, xlBitmap
Sheets("Feuil1").Paste

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonjour à tous,

Bonjour MPi,
Ta proposition copie effectivement une image (feuil2) sur feuil1.
Mais, ce n'est pas celà que je souhaite.
En ajoutant un contrôle ImageList et en y insérant mes images, j'arrive à afficher celles-ci dans un UserForm.

jean-marc
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Effectivement... j'avais mal lu... désolé.

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
salut salut.....

JMO -> je tente mais n'arrive même pas à me mettre dans ta situation

nouveau fichier excel 2000
sur "feuil1" je sélectionne une cellule, insertion > image >....

dans feuil1 (alt+f11) sub test > Worksheets("Feuil1").
je n'ai pas d'intellisense...

peux-tu m'indiquer comment en arriver à ton problème pour que j'essaye?
(ou m'envoyer ton fichier excel)

++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonjour PCPT,

Merci de ton attention sur mon ex-problème.
J'ai pris l'option du contrôle ImageList, avec lequel je load mes 3 images dans "Sub UserForm_Activate()".

(ou m'envoyer ton fichier excel) => comment fait-on ???

@+.
jean-marc
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
salut,
tu peux utiliser n'importe quel site d'upload..., comme http://dl.free.fr
++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp