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 :

Declarer un control exterieur comme objet


Sujet :

Macros et VBA Excel

  1. #21
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par Jean-Philippe44 Voir le message
    oui, pour les SendKeys, c'est clair et surtout pas propre et aléatoire, au bon vouloir du focus et donc un travail baclé.......

    Le logiciel est CaesarII et pour eux, plus ils vendent de licences et mieux c'est donc post traitement a chier et plus c'est long mieux c'est............pcq les délais imposeront plus de licences
    Quel CaesarII ?

    celui-ci

    Tu peux toujours aller fouiller là

    ou

    Celui-là

    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  2. #22
    Invité
    Invité(e)
    Par défaut
    Bonsoir Clément,
    Effectivement selon le lien ça change considérablement mon intérêt!

  3. #23
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2014
    Messages : 53
    Points : 31
    Points
    31
    Par défaut
    Slt

    Le 1er ☺

  4. #24
    Invité
    Invité(e)
    Par défaut
    Ha cool!
    Je me regarde sur ce truc!

  5. #25
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2014
    Messages : 53
    Points : 31
    Points
    31
    Par défaut ca avance
    Slt,

    j'ai pas le temps mais:

    pour les Edit que j'arrivai pas a remplir je suis passé par: Rentrer le texte dans le presse papier puis postmessage avec un WM_CLEAR puis un WM_PASTE

    pour cliquer dans la liste sans parents des checkbox: déterminer les positions en pixel avec Paint (le logiciel) puis GetWinRect puis SetCursor puis mouse_event

    sinon, j ai trouve ca http://www.csee.umbc.edu/~squire/download/WinUser.h

    merci à tous

  6. #26
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    si tu as déjà un compte pour téléchargé la version d’évaluation, place là sur un partage de fichier et donnes nous le lien!

    je ne veux pas être spammé, déjà qu'il faut que j’initialise un machine virtuelle pour ne pas installer l'outils sur mon PC!

  7. #27
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2014
    Messages : 53
    Points : 31
    Points
    31
    Par défaut
    Slt
    Y a rien a telecharger, c est un lien vers une page....

  8. #28
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut


    Bonjour,

    non, moi aussi cela se met en téléchargement !

    Et qui plus est vu l'extension du fichier, l'auteur se serait alors trompé de forum …


    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  9. #29
    Invité
    Invité(e)
    Par défaut
    il faut que tu nous place en position de t'aider!

    un fichier excel d'exemple avec ce fameux lien vers ce contrôle externe que tu n’arrive pas à gérer.

    il faut que tu nous donnes les tuyaux faute de pouvoir les calculer!

  10. #30
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2014
    Messages : 53
    Points : 31
    Points
    31
    Par défaut
    C'est bon, j'ai réussi a le manipuler:

    J'ai expliqué plus haut, c'est en simulant des clics,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
     
    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
     
    Public Declare Function SetForegroundWindow Lib "user32" (ByVal Hwnd As Long) As Boolean
     
    Public Function GetCursorPos Lib "user32" (ByVal lpPoint As Point_API) As Long  
     
    Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
     
     
     
     
    Private Type Point_API
        X As Long
        Y  As Long
    End Type
     
     
    Public Sub Click_Mouse(ByVal PosX As Long, ByVal PosY As Long, ByVal Hwnd As Long)
     
        Dim P As Point_API
     
        Dim retval As Long
     
        If Hwnd Then
            ShowWindow Hwnd, 5
            SetForegroundWindow Hwnd
        End If
     
        lgRetVal = GetWindowRect(Hwnd, r)
     
        Call SetCursorPos(r.Left + PosX, r.Top + PosY)
     
        Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
        Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
     
    End Sub
    PosX PosY sont les coordonnées en pixel déterminées avec Paint:

    Selectionner le coin haut gauche de la fenetre doit etre le coin au gauche Paint, les coordonnes sont indiquées en bas de Paint.

    Hwnd est le Handle de la fenetre

  11. #31
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2014
    Messages : 53
    Points : 31
    Points
    31
    Par défaut
    Par contre j'ai un projet, pas le temps actuellement pour le faire:

    L'idée: Faire en Vba une macro qui automatise au maximun l'écriture du code pour la recherche des Handles.

    1_ Faire une recherche descendante a partir du handle de la fenêtre initiale en donnant leur classe et nom.

    2_ Stocker la position de chaque Handle trouvé par rapport a son parent avec une recherche sur sa classe.

    3_ Faire une recherche ascendante a partir du Handle désire en sachant que l'on connait sa position par rapport a sa classe dans une recherche a partir de son parent

    pour le 3_ il faut tenir compte des ruptures: ie la recherche ascendante ne trouve pas obligatoirement le parent et la recherche descendante trouve des enfant a ce même parent

    il faut la faire un FindWindow avec recherche du nom si possible (on a la classe)

    On peut ainsi écrire le code en auto.

    Ca peut aussi se généraliser avec plusieur Handle a trouver....

    Par contre pour les parents sans enfant visibles je lache l'affaire, c'est des clics sur pixels et pas des sendmessage ou postmessage.

    Si quelqu'un est interssé je peux balancer ce que j'ai commencé et qui ne marche pas encore

    mais ce soir c'est vendredi donc Ron

    Bonne soiree

  12. #32
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2014
    Messages : 53
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par Marc-L Voir le message


    Bonjour,

    non, moi aussi cela se met en téléchargement !

    Et qui plus est vu l'extension du fichier, l'auteur se serait alors trompé de forum …


    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …
    oui et non, c'est que c'est du c++ mais tu as une vision plus globale des constant pour les sendmessage et pas une aide en ligne Windows c'est donc lisible pour une personne paumée comme moi....et c'est educatif, structuré

  13. #33
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Le code que tu as posté, nous présente l'utilisation des Api. C'est un piste pour la résolution du problème, mais ce n'est pas le problème, ça je connaissais.

    Non tu nous parles de contrôle externe , qu'il n'est pas besoin de le télécharger, que c'est un lien web? C'est ce lien don nous avons besoin pour analyser ce composant.

  14. #34
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2014
    Messages : 53
    Points : 31
    Points
    31
    Par défaut
    Slt,

    non c'est un lien qui parle des constant pour les Api.

    Pour le controle exterieur, je lache l'affaire.

    Le probleme est qu'en connaissant le handle on peut pas le declarer en tant que controle sous vba.

    merci pour ton aide

  15. #35
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2014
    Messages : 53
    Points : 31
    Points
    31
    Par défaut Merci a tous
    Un grand merci,

    le resultat au final est excellent et vraiment top, ils n'ont plus qu a attendre et a entrer dans ce qui est leur metier et ne plus etre des copieur/colleur mais apporter des solutions.

    Jamais j aurai pensé que c'était possible, l'automation leur a fait peur mais maintenant qu ils comperennent que c'est un grand confort, le merci ne sort tjrs pas....

    Gain de temps considérable, de l'ordre de 50 a 75% en dehors du temps pour monter le modele.

    L' interactivité entre Excel et le logiciel est surprenante.

    Ce qu on peut faire avec excel est plus qu'etonnant.

    J ai donc la possibilité de continuer............................pour les autres vrais calculateurs

    Pour conclure:

    J 'ai été idiot de dire que SDK est nul, c'est top

    Ce qui semble accessible avec SDK l est !!!!!

    Meme quand on ne trouve pas les enfants des parents avec les API.

    La grosse difference est que cela fonctionne avec l ui automation.

    Excel, vu que c'est trop simple de faire sauter le pass du code n'est plus la solution.

    Vu que c'est pas mon metier la tache est importante, ce sera surement sur du visual studio pour faire un excutable

    https://blogs.msdn.microsoft.com/winuiautomation/

    merci

  16. #36
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Une seule réaction de ma part. Elle s'exprime ainsi :
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/04/2010, 20h21
  2. [AC-2002] Controle ActiveX : erreur "objet requis"
    Par Jean-Luc80 dans le forum VBA Access
    Réponses: 1
    Dernier message: 25/03/2010, 12h03
  3. Utiliser JLabel comme objets d'une JOptionPane (liste déroulante)
    Par Jhino dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 04/01/2010, 11h20
  4. type String considéré comme objet
    Par new_wave dans le forum Langage
    Réponses: 1
    Dernier message: 04/11/2008, 17h25

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