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

Access Discussion :

Erreur Formulaire transparent [AC-2007]


Sujet :

Access

  1. #1
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 251
    Points : 136
    Points
    136
    Par défaut Erreur Formulaire transparent
    Bonjour,
    Depuis quelques jours, je cherche un moyen de rendre le fond d'un formulaire transparent (je dois dire que mes connaissance d'access sont assées sommaires).
    Sur le forum j'ai trouvé un code de "ARKHAM46" que j'ai copié dans un module et la partie "Private suf Form_load()" dans le formulaire concerné (indépendant et modal).
    Je pense que la procédure est exacte.
    Au moment de me servir de ce formulaire (en remplacement d'un MsgBox) un avertissement s'affiche : "Erreur de compilation - Sub ou Function non définie" sur le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Load()
    Dim lAlpha As Long
    lAlpha = 255 * (20 / 100)
        SetWindowLong Me.hWnd, GWL_EXSTYLE, GetWindowLong(Me.hWnd, GWL_EXSTYLE) Or WS_EX_LAYERED
        SetLayeredWindowAttributes Me.hWnd, 0, lAlpha, LWA_ALPHA
    End Sub
    Pouvez-vous m'indiquer la marche à suivre pour arriver au résultat attendu.

    Merci pour votre aide.

    JCB
    Windows 10 - ACCESS 2007

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 888
    Points : 15 032
    Points
    15 032
    Par défaut
    bonsoir,
    est-ce que les API associées ont bien été mis dans un module standard ?
    ce sont des lignes d'instructions comme ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #If VBA7 Then
        Private Declare PtrSafe Function GetWindowLong Lib "User32" Alias "GetWindowLongPtrA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr
        Private Declare PtrSafe Function SetWindowLong Lib "User32" Alias "SetWindowLongPtrA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
    #Else
        Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal Hwnd As Long, ByVal nIndex As Long) As Long
        Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal Hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    #End If
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 251
    Points : 136
    Points
    136
    Par défaut
    Bonsoir,

    Merci de vous interressez à mon petit problème. Je réponds avec du retard , j'attendais un avertissement par internet, je vais controler ça.
    Pour ce qui est du code, j'ai mis dans un module le code de ARKHAM46 que j'ai copié sur ce forum.
    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
    Private Const WS_EX_LAYERED = &H80000
    Private Const LWA_ALPHA = &H2
    Private Const GWL_EXSTYLE = &HFFEC
    Private Declare Function SetWindowLong Lib "USER32" Alias "SetWindowLongA" _
    (ByVal hWnd As Long, _
    ByVal lngWinIdx As Long, _
    ByVal dwNewLong As Long) As Long
     
    Private Declare Function GetWindowLong Lib "USER32" Alias "GetWindowLongA" _
    (ByVal hWnd As Long, _
    ByVal lngWinIdx As Long) As Long
     
    Private Declare Function SetLayeredWindowAttributes Lib "USER32" _
    (ByVal hWnd As Long, _
    ByVal crKey As Integer, _
    ByVal bAlpha As Integer, _
    ByVal dwFlags As Long) As Long
    j'ai essayé aussi un code provenant de :"VbaWriter.ch" qui ressemblait à celui que vous proposez mais il donnait une erreur sur : "PtrSafe".

    Avez vous une idée de ce qui se passe mal ?

    Merci

    JCB
    Windows 10 - ACCESS 2007

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 888
    Points : 15 032
    Points
    15 032
    Par défaut
    bonsoir,
    Ce que tu as posté est bien le code des API, maintenant, maintenant il faudrait préciser si les versions de Windows 10 et Access 2007 sont en 32 ou 64 bits
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 251
    Points : 136
    Points
    136
    Par défaut
    Voilà ce que j'ai trouvé :

    Nom de l'appareil DESKTOP-L94D0CK
    Processeur Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz 2.20 GHz
    Mémoire RAM installée 4,00 Go
    ID de périphérique 018D165A-3EE1-484D-9037-3D76F064D99C
    ID de produit 00326-10000-00000-AA082
    Type du système Système d’exploitation 64 bits, processeur x64
    Stylet et fonction tactile La fonctionnalité d’entrée tactile ou avec un stylet n’est pas disponible sur cet écran

    Édition Windows 10 Famille
    Version 22H2
    Installé le ‎31/‎03/‎2023
    Build du système d’exploitation 19045.5198
    Expérience Windows Feature Experience Pack 1000.19060.1000.0

    Access est installé dans : programmes(x86)

    JCB
    Windows 10 - ACCESS 2007

  6. #6
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 980
    Points : 4 928
    Points
    4 928
    Par défaut
    OK pour la version de l'OS.
    Mais ici c'est la version d'ACCESS (donc d'OFFICE) qui importe : est ce une version 32 ou 64 bits ?
    "Always look at the bright side of life." Monty Python.

  7. #7
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 251
    Points : 136
    Points
    136
    Par défaut
    Bonjour,

    De quelle manière et où trouver ça ?
    Windows 10 - ACCESS 2007

  8. #8
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 980
    Points : 4 928
    Points
    4 928
    Par défaut
    La version OFFICE se trouve dans ACCESS : dans les Options, puis Compte
    "Always look at the bright side of life." Monty Python.

  9. #9
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 251
    Points : 136
    Points
    136
    Par défaut
    Désolé, pas trouvé "Compte".

    Je vais abandonner cette idée.

    J'ai réussi à faire fonctionner ce code trouvé sur le forum :

    https://access.developpez.com/faq/?p...ormTransparent

    Mais le résultat n'est pas ce que je recherche.
    Mon idée était de remplacer "MsgBox" classique par un MsgBox personnalisé.
    Je pensais y arriver en mettant une image sur un formiulaire avec le fond du formulaire totalement transparent.
    Ce que j'ai obtenu, c'est un formulaire plus ou moins transparent avec l'image elle aussi transparente, ce n'est pas du tout le but recherché.

    Merci pour votre aide.

    JCB
    Windows 10 - ACCESS 2007

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formulaire transparent
    Par PoZZyX dans le forum IHM
    Réponses: 10
    Dernier message: 04/05/2013, 15h30
  2. erreur formulaire php
    Par Maxime972 dans le forum Langage
    Réponses: 8
    Dernier message: 30/01/2009, 04h45
  3. erreur formulaire #Nom?
    Par PAINCO dans le forum IHM
    Réponses: 5
    Dernier message: 23/02/2007, 11h56
  4. msg erreur: formulaire/SS-formulaire et ActiveX
    Par batide dans le forum Access
    Réponses: 3
    Dernier message: 19/04/2006, 16h18
  5. Erreur formulaire avec XMLHttpRequest
    Par MathieuG dans le forum Langage
    Réponses: 9
    Dernier message: 21/09/2005, 12h43

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