Bonjours les gens! :lol:
Ma question porte sur l'Objet OLE "image Bitmap"!:?
Est-il possible d'initialiser cet objet ? c'est à dire, lui mettre une image Bmp par defaut ?
merci d'avance pour votre aide!!;)
Version imprimable
Bonjours les gens! :lol:
Ma question porte sur l'Objet OLE "image Bitmap"!:?
Est-il possible d'initialiser cet objet ? c'est à dire, lui mettre une image Bmp par defaut ?
merci d'avance pour votre aide!!;)
De mémoire :
L'objet OLE image bmp va garder en mémoire son image à la fermeture du classeur et la retrouver à la prochaine ouverture
Quand tu es sur l'objet ouvert : regarde bien la boite d'outils : tu y trouveras un onglet edition
Si tu ouvres une image existante (depuis un outil de visualisation d'images externe, que tu copies (mets en mémoire) tout ou partie de cette image et qu'en revenant dans Excel, tu fais Edition===>>Coller, le tour est joué, pardi...
(Je ne te réponds là, une fois de plus, que de mémoire , en "aveugle", mais ce devrait être celà...)
j'ai du mal à te suivre (ne m'en veux pas! :roll: )
Bon quand j'insere l'objet "image Bitmap" il est vierge! j'aimerai quand l'utilisateur ouvre la feuille de dialogue (dialogue microsoft excel 5.0) l'objet doit pouvoir etre préalablement charger selon les choix que l'utilisateur aura fait en amont!
Exemple: il sélection sur une Userform dans une Combobox le choix du fond de l'image appelé 'truf' , ensuite il valide, la feuille de dialogue microsoft ... s'ouvre avec l'objet 'image Bitmap' non vierge mais avec le font choisi c'est à dire le font 'truf'!! ;) (vous avez compris tous ce charabia? :lol:)
Donc dans cette situation es possible de le faire?
Mais (si ma mémoire est bonne)....
Ta "boite de choix de fichier" est déjà toute faite... (onglet Fichier de l'objet OLE Image Bitmap ...)
Si ma mémoire ne me fait pas défaut, donc, où est le problème ?
re tous le monde
j'aimerai savoir comment peut-on initiliser un objet ole image bitmap avec les image en format bmp?
Comment peut on enregistrer l'image de ce meme objet en forma 'bmp' ?
Merci beaucoup ;)
1) En donnant par exemple à ton objet OLE le nom du chemin complet de ton fichier image...
2) en utilisant Fichier ==> Sauvegarder de ton objet OLE, entre autres choses également possibles !
Mais je suis étonné : y a-t-il quelqu'un connaissant le traitement des images sous VBA (j'ai cru comprendre que oui, quand même). Ils ont là l'occasion de dire "présent"...;)
Etes-vous certains de parler de la même chose ?
Je ne le crois pas...
revenons donc au point principal :
gootsu a écrit :
Cet objet n'a rien à voir avec un contrôle image ou une image classique insérée sur la feuille...;)Citation:
Ma question porte sur l'Objet OLE "image Bitmap"!
Des messages ont dû etre effacé entre temps, parce que je comprend pas ta question!! ;)Citation:
Envoyé par jmfmarques
pour ton point n°1, je pense que c'est bon!
Mais le point n°2, je ne voi pas "Fichier ==> Sauvegarder de ton objet OLE"!
Quand je clic sur mon objet OLE il m'ouvre "paint", en suite en fermant "paint", de retour dans Excel, les modifications réalisées apparaissent sur le dessin, et c'est en cliquant sur le bouton "enregistrer" de ma BdD que je veux qu'il enregistre le nouveau dessin! Et je ne voix pas comment faire!:cry:
Merci JmFmarques
Ton objet OLE devrait normalement être assorti des onglets de Paint, parmi lesquels les onglets habituels Fichier, ouvrir, sauvegarder, etc...
Si tel n'est pas le cas, choisis un objet OLE plus complet (tu en as d'autres) pointant également vers Paint.
Si tu t'acharnes un peu, tu y parviendras, gootsu.
Je te confesse que je n'ai jamais autant regretté de ne pas être possesseur de VBA. J'aurais vraiment aimé faire ce bout de chemin avec toi, car il m'intéresse gandement.
Je vais essayer en aveugle encore une fois :
En cliquant sur ton image, tu devrais avoir 2 options : ouvrir et modifier
L'option modifier ne te conduit pas à la présence de l'onglet fichier mais l'option ouvrir y conduit
Une autre piste : créer un userform dédié, userform avec une propriété Picture.
Essaye ensuite d'utiliser l'onglet Edition ===>> sélectionner tout ====>>> copier. L'image de ton objet OLE sera ainsi mise dans le presse papier.
Que faire ensuite ? Dire par exemple que la propriété Picture de ton autre userform est égale à ce qui se trouve dans ton presse-papier, ce qui devrait ressembler (à vérifier sous VBA) à UserFormmachin.picture = Clipboard.Getdata
Si maintenant tu veux également sauvegarder sur ton document l'image, tu peux également la mettre sur une autre feuille d'excel, comme simple image (toujours en utilisant le presse-papier). Elle sera là lors de la prochaine ouverture et tu pourras faire l'inverse : la mettre, elle, dans le presse-papier et coller le contenu du presse-papier dans ton objet OLE.
Je suis sur qu'il existe plus simple et plus direct sous VBA, mais une autre fois, ne peut agir (sans VBA) qu'en infirme...
Si tu ne reçois pas d'azutre aide des pros de VBA, tente alors de trouver le chemin vers lequel je te guide comme je peux, en aveugle hélàs...
Ami gootsu,
Une autre idée :
Quand tu crées ton objet OLE, tu devrais normalement pouvoir choisir d'ouvrir un fichier image de ton choix, puis de lier ton objet OLE à ce fichier.
Si tu as (et je pense que oui s'agissant d'un objet OLE) cette option là, utilise-la donc. Les modifications apportées seront enregistrées dans le ficher et retrouvées depuis ce ficheir à l'utilsation suivante.
Essaye et mets-y tout ton coeur.
Essaie ça
Maintenant, pour sélectionner l'image dans un répertoire... Tu dis si tu as besoin ;)Code:
1
2
3
4
5
6
7
8
9 Sub RemplacerLimage() Dim NomDeLimage NomDeLimage = D:\clipart\Animaux\Goupil.gif For Each Limage In ActiveDocument.Shapes Limage.ShapeRange.Delete 'On efface l'ancienne image Next Selection.InlineShapes.AddOLEObject ClassType:="MSPhotoEd.3", FileName:= _ NomDeLimage, LinkToFile:=False End Sub
Merci mais ça fonctionne pas! :roll:
parce que ma version d'excel ne reconnait pas :
je tiens à rappeler que je suis sur une "boite de dialogue microsoft excel 5.0" et que je souhaiterais, dans un object OLE ("paint.picture") ou autrement dit une "image bitmap", afficher une image de mon choix et l'enregistrer aprés modification!Code:ActiveDocument.Shapes
Enfin bon !
Aidé Moi :cry:
Justement mon code ne fonctionne pas!Citation:
Envoyé par jmfmarques
pour vous éclairer voici mon code :
ça ne marche pas!:(Code:
1
2
3
4
5
6 DialogSheets("Contrôle").Activate 'Ma BdD Microsoft Excel 5.0 'j'ajoute l'objet OLE initialisé avec le dessin désiré! ActiveSheet.OLEObjects.Add(ClassType:="Paint.picture", _ Filename:="C:\Documents and Settings\gootsu\Mes documents\Mes images\test.bmp", _ Link:=False, DisplayAsIcon:=False).Select Selection.Name = MonImage
voila ou j'en suis!:lol:Citation:
erreur d'exécution '1004':
impossible de lire la propriété Add de la classe OLEObjects
quand j'enlève la ligne en rouge il m'insert l'objet mais il n'y as pas le dessin par defaut!Code:
1
2
3
4
5
6 DialogSheets("Contrôle").Activate 'Ma BdD Microsoft Excel 5.0 'j'ajoute l'objet OLE initialisé avec le dessin désiré! ActiveSheet.OLEObjects.Add(ClassType:="Paint.picture", _ Filename:="C:\Documents and Settings\gootsu\Mes documents\Mes images\test.bmp", _ Link:=False, DisplayAsIcon:=False).Select Selection.Name = MonImage
je sais qu'il faut soit le classtype soit filename il ne prend en compte que l'un des deux mais alors pourquoi quand j'enlève juste la ligne bleu cela ne marche pas?
As-tu essayé d'enregistrer la macro en faisant ce que tu veux ? Je pense que oui... Alors mets le code tel qu'il est créé ;)
quand j'enregistre une macro il ne m'insert que l'objet mais il n'y a pas de moyen pour lui mettre d'image par defaut! (le dessin par defaut n'est jamais le meme selon le choix de l'utilisateur) ;)Citation:
Envoyé par ouskel'n'or
j'ai essayé d'effecutuer quelque recherche sur paint ... mais à priori MSPaint ne serai pas une apllication OLE Automation.. et donc on ne peu pas la piloter en OLE..?
Bonjour Bbil;Citation:
et donc on ne peu pas la piloter en OLE..?
Il ne s'agit pas de la piloter en OLE mais de la mettre en objet OLE et de s'en servir directement, comme on pourrait se servir directement de Word en objet OLE, ....
Insère donc un objet OLE (celà ne se fait pas dynamiquement mais directement) et tu comprendras de quoi il s'agit .
Je suis vraiment désespéré ....
Obtenu en enregistrant la macro (VBA 97)
Ça ne règle pas le problème avec Excel 5, mais j'attends toujours le code, gootsu ;)Code:
1
2
3 Selection.InlineShapes.AddOLEObject ClassType:="Paint.Picture", FileName:= _ "D:\clipart\windows\Versaille - Statue.bmp", LinkToFile:=False, _ DisplayAsIcon:=False
Il est possible que ce ne soit qu'une histoire de changement de syntaxe entre
Pour certaines méthodes, le type de l'argument est ignoré. Peut-être en est-il ainsi sur Excel5.Code:
1
2
3
4
5 ActiveSheet.OLEObjects.Add "Paint.picture", "C:\Documents and _ Settings\gootsu\Mes documents\Mes images\test.bmp", False, False 'ou bien ActiveSheet.OLEObjects.Add ("Paint.picture", "C:\Documents and _ Settings\gootsu\Mes documents\Mes images\test.bmp", False, False)
Si tu peux tester ça... ;)