IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E] Comment réaliser un dessin avec les API Windows via VBa d'excel?


Sujet :

Macros et VBA Excel

  1. #21
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Oui c un controle Word qui permet de dessiner, ce ressemble fort a paint...

  2. #22
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Citation Envoyé par Vesta
    Oui c un controle Word qui permet de dessiner, ce ressemble fort a paint...
    Non vesta, non !
    - Ce n'est pas un contrôle, mais Microsoft Image pris en objet OLE
    - pas comme Paint (bmp), mais en vectoriel (seul type permettant ensuite des modifications, puisque c'est ce qu'il a exprimé.)

  3. #23
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    C un ActiveX non?

    Vais une fois essayer ca lol

  4. #24
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Mais non, Vesta,
    C'est tout simplement Image Microsoft de Word , inséré en objet OLE (comme tout autre objet que tu pourrais insérer en OLE, y compris Paint, Multimédias, autre document Excel ou Word, etc...)

  5. #25
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 151
    Points : 83
    Points
    83
    Par défaut
    ah Ok c'est pas mal!! meme sympa!

    je vais y jeter un coup d'oeil!

    a plus

  6. #26
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    OK J'ai finalement compris OUF

    Je vois maintenant de quoi tu voulais parler... OLE !

  7. #27
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 151
    Points : 83
    Points
    83
    Par défaut
    pffff!
    le merde que je suis je n'ai rien trouvé au nom de
    objet OLE Image Microsoft Word
    !!

    Ou le trouver? et quels sont les commandes pour cette objet?

    dézolé

  8. #28
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Regarde à OLEObjects

    A+

  9. #29
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 151
    Points : 83
    Points
    83
    Par défaut
    ouai! ça j'avais trouvé!

    Mais je ne voi pas comment faire avec OLEObjects pour ouvrir "Image Microsoft Word"?
    De plus, pour ouvrir "Image Microsoft Word" dans une Userform, je me demande si c'est possible?

    merci

  10. #30
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Regarde dans tes composants et recherche celui qui correspond à un objet OLE.
    Insère ce composant et suis en lisant tout.

  11. #31
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 151
    Points : 83
    Points
    83
    Par défaut
    je suis désolé mais je suis perdu!

    Y aurait-il possibilité d'avoir une représentation visuel!
    je désespère!

  12. #32
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Je n'ai pas VBA "moderne" entre les mains pour t'aider :
    Attends donc un pro de VBA pour te dire les gestes à faire pour insérer un objet OLE sur une UserForm.
    Je les connais sous VB, pas avec précision sous VBA

  13. #33
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 151
    Points : 83
    Points
    83
    Par défaut
    ok merci!

  14. #34
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Pour cela il faut peu être pas utiliser un UserForm mais plutôt une "Boite de dialogue Microsof Excel.5"
    1. Insererer nouvelle feuille dans classeur excel de type "Boite de dialogue Microsoft exel 5"
    2. Renommer la Feuille en "MonDialogue"
    3. Redimensionner la boite, et insertion/Objet/Image Microsoft Word (fermer l'image.. redimensionner l'objet)
    4. Renommer l'objet MonImage
    5. Affecter une macro à l'objet (bouton droit puis affecter une macro)
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      Sub MonImage_QuandClic()
        ThisWorkbook.DialogSheets("MonDialogue").Shapes("MonImage").OLEFormat.Activate
       
      End Sub
    6. Rajout d'un appel à la boite de dialogue
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      Sub test()
       ThisWorkbook.DialogSheets("MonDialogue").Show
      End Sub
    Voilà un bon début... dis nous.. pour la suite..

  15. #35
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 151
    Points : 83
    Points
    83
    Par défaut
    ohah le délir je connaissais pas ce truc là térrible!

    Je vous refais signe pour la suite! lol

    merci beaucoup!

  16. #36
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Bonne découvrete, non ?

    Cà, c'était pour les images vectorielles...
    Pour des bmp, kif kif en insérant Image Paintbrush

  17. #37
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 151
    Points : 83
    Points
    83
    Par défaut
    c'est vraiment super!

    mais pour le dessin vercorielles...
    les moins :

    - il s'ouvre avec world et c'est pas trés convivial de dessinée avec word (les boutons se désactivent tous le temps )
    - quand on désire fermer si on clique sur le bouton "fermer image" il laisse word ouvert, donc l'utilisateur est contraint de penser à fermer avec la croix de la fenêtre word ou par le menu fichier! (je sais comme ça! on pourrai croire que c'est du chipotage! mais le truc c'est qu'il me faut réaliser un pseudo-logiciel (prototype) avec excel, celui-ci doit cependant être rapide d'utilisation car les personnes ,qui auront à l'utiliser, seront devant des fours à 800° (donc moi il reste devant mieux c'est!! lol)).

    les plus :
    - le dessins vectorielles permet d'effacer chacun des trais facilement
    - possibilité d'assembler deux dessins côte à côte plus facilement

    mais pour le dessin bmp avec paint...
    les moins :

    - je ne sais pas si l'on peut configurer des boutons autres que ceux par defaut?
    - possibilité d'assembler deux dessins côte à côte plus difficilement!
    - on ne peut que modifier pixels par pixels ou par zones les dessins qui viennent d'être réouvert! (par contre pour un trais réalisé par erreur peu etre enlevé avec le bon vieux "annuler" dans le menu "edition"

    les plus :
    - rapide! simple d'utilisation!
    - simple à comprendre

    laissez tomber les commentaires des "plus" et des "moins" si vous saisissez pas car sans être dans le projet avec si peu d'éléments cela ne peu qu'être flou !

    sauf peu être pour les personnes qui savent comment ajouter des commandes dans paint!

  18. #38
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Les Bmp ne se prêtent pas, comme les images vectorielles, à des modifications agiles de traits, courbes, etc... (c'est la raison pour laquelle je t'ai convié aux images vectorielles... car tu voulais ces changements)
    Tu ne peux changer les boutons de Paint, non, pas plus que tu ne pourrais le faire en ouvrant Paint Directement...
    Tu peux traiter bien évidemment Pixel par pixel les bmp (utilise le zoom)

    En résumé : le beurre et l'argent du beurre sont dans des sacs différents : tu ne peux à la fois traiter vectoriellement et en bmp (il n'existe aucun outil, même commercial, pour faire celà)

  19. #39
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonjour


    Tout d'abord une remarque : Excel n'est pas un outil prévu pour ça .Il s'agit avant tout d'un tableur et non d'un outil graphique ...quoi que ...


    Ci joint une autre approche pour le fun , en utilisant les symboles de la police Wingdings (à adapter en fonction de l'utilisation)

    Tu selectionnes les objets dans une liste de choix pour ensuite les insérer dans la zone de dessin

    Un 1er clic sur un objet de la zone de dessin permet de le déplacer (par MouseMove)
    Conseil : Ne déplace pas trop vite le curseur de la souris.
    Un 2eme clic désactive le déplacement .

    Le double clic sur l'objet permet de zoomer .

    Possiblité de supprimer les objets un par un , ou de nettoyer totalement la zone de dessin (bouton Reset)


    Reste à voir :
    Imprimer la zone de dessin
    Tester avec Excel2000 & Excel97
    Sauvegarder la zone de dessin en cours pour y revenir plus tard ( un format xml ?)
    Pb : Le dernier objet créé prend la main sur les autres quand on passe dessus




    Une autre solution pourrait consisterait peut etre à créer un outil de dessin en Flash et ensuite l'insérer et la piloter dans l'UserForm



    bon week end
    michel
    Fichiers attachés Fichiers attachés

  20. #40
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Bonjour SilkyRoad,

    J'aime bien le "quoi que" car, en effet, on peut tout faire, pourvu que l'on "en veuille"...

    Gootsu nous a dit dans un premier temps qu'il voulait pouvoir dessiner des dessins simples. Dans un second temps, il nous a signalé qu'il voulait pouvoir les modifier. Le tout était destiné à inclure un "petit dessin" dans un projet Excel.

    La solution entre les mains, il :
    1) nous précise qu'il trouve gênant le fait que l'on voit l'appel à un outil qui n'est pas le sien, en ajoutant que ce fait ne confère pas un aspect "professionnel" à son projet
    2) déplore certaines faiblesses de Paint d'un côté, de Image Word dans l'autre.

    Mes conclusions :

    1) il ne réalise apparemment pas que Paint et Image Word ne sont pas les fruits d'un développeur mais d'une équipe entière chez Microsoft
    2) il ne souhaite pas que son projet montre l'utilisation d'outils externes
    3) il ne souhaite donc pas, non plus (c'est évident ou je ne comprends plus rien à sa pensée) que cet outil soit conçu par d'autres que lui-même (donc pas de copier-coller de ce qu'il n'a pas écrit lui-même )

    Ma réponse dans de telles conditions :

    1) Oui, on peut faire mieux que Paint, à condition d'y passer beaucoup de temps et d'y consacrer beaucoup d'énergie (je l'ai fait, en ce qui me concerne)
    2) je suis disposé à lui fournir la liste (elle sera longue) de toutes les APIs qu'il lui faudra utiliser avec beaucoup d'opiniâtreté, de "construction", d'organisation et de patience
    3) il trouvera sur le site de Microsoft tout ce qu'il lui faut savoir sur la finalité de ces APIs et les structures (types) de référence.
    4) je peux également lui "passer" un outil de dessin beaucoup plus élaboré que Paint, s'il le souhaite, mais ce sera dans ce cas un exe ou un ocx et il apparaîtra dans son projet que la signature n'en est pas la sienne mais la mienne (ce qui le raménerait bien évidemment à s'écarter du look professionnel "Gootsien" qu'il entend donner à son application
    5) il lui faut maintenant déterminer l'essentiel : la date à laquelle il doit remettre son projet et si la partie importante de ce projet est le projet lui-même ou le dessin qui l'accompagne. Si l'outil dessin est la partie la plus importante : qu'il se prépare d'ores et déjà à reculer de quelques mois la présentation de son projet.

    J'ai conscience de dire certaines choses avec un peu de brutalité... mais il m'apparaît on ne peut plus nécessaire d'être ici de la plus grande franchise .

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Comment ajouter une chaîne dans une liste avec les API Windows ?
    Par DelphiCool dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 02/02/2013, 13h47
  2. Réponses: 10
    Dernier message: 26/03/2008, 17h23
  3. VBA-E Comment réaliser une recherche avec plusieurs critères ?
    Par Larsen21 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 14/12/2006, 13h43
  4. Modifier la couleur d'un STATIC avec les API windows
    Par Mirsa dans le forum Visual C++
    Réponses: 31
    Dernier message: 27/11/2006, 11h18
  5. Réponses: 1
    Dernier message: 26/02/2005, 12h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo