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

VBA Access Discussion :

Ouvrir un formulaire access sans l'environnement de développement au démarrage du PC


Sujet :

VBA Access

  1. #1
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 584
    Points : 142
    Points
    142
    Par défaut Ouvrir un formulaire access sans l'environnement de développement au démarrage du PC
    Encore moi... mais bonsoir quand-même.

    Tout est dans le titre. J'aurais bien voulu répondre moi même tout seul, mais je n'ai as réussi : je vois bien mon formulaire qui marche, maintenant, mais tout l'écran est pris par Access, alors que je l'ai fait exprès aussi petit que possible, pour qu'il apparaisse seul.

    Merci de votre aide.

    AMIcalement.

  2. #2
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    Bonjour,
    Une solution possible est de maximiser la fenêtre du formulaire à l'ouverture de ce dernier pour qu'elle occupe toute la surface de l'écran d'affichage
    Il faut pour cela s'assurer que l'option Access : Overlapping Windows est activée.
    Bon DEV
    .
    Diviser c'est régner : United we stand, Divided we fall
    .

  3. #3
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 584
    Points : 142
    Points
    142
    Par défaut
    Merci de répondre.

    Mais justement, je veux que l'appli tourne en tâche de fond, en "encombrant" le moins possible le bureau.

    AMIcalement.

  4. #4
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    Bonjour,
    justement, je veux que l'appli tourne en tâche de fond
    Ce n'était pas l'expression du besoin initial
    Ouvrir un formulaire access sans l'environnement de développement
    Il y a une différence entre un formulaire, qui est un objet d'interface utilisateur, et une tâche de fond beaucoup plus assimilable à un Job.
    Il serait bon de clarifier précisément ce qui est attendu avant de pouvoir suggérer des solutions.
    Bon DEV
    .
    Diviser c'est régner : United we stand, Divided we fall
    .

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 301
    Points : 1 900
    Points
    1 900
    Par défaut
    Citation Envoyé par L'AMI Yves Voir le message
    Mais justement, je veux que l'appli tourne en tâche de fond, en "encombrant" le moins possible le bureau.
    Salut,

    Ms Access n'est absolument pas adapté pour ce genre de chose.
    Les tâches de fond doivent entre autre être capable de répondre aux messages de Windows, ce qu'Access ne sais pas faire.
    Elles doivent en plus être rapide afin de minimiser leur impacte sur le système d'exploitation, VBA, comme tous les langages interprété, est particulièrement lent.
    Il y a certainement d'autres arguments détrimentaires.

    Bref, ce n'est simplement pas la bonne technologie pour ce genre d'opération.

  6. #6
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 458
    Points : 2 222
    Points
    2 222
    Par défaut
    Bonjour,

    • Pour afficher une icône de notification (ou icône de la zone de notification) à côté de l'heure dans la barre des tâches pour un formulaire Access, vous devrez utiliser un peu de code VBA et les API Windows. Voici les étapes détaillées :
    • Créer l'icône de notification :
    • Préparez une image d'icône (.ico) que vous souhaitez utiliser pour la zone de notification.
    • Ajouter un module VBA pour gérer les notifications :
    • Ouvrez l'éditeur VBA (Alt + F11) dans Access.
    • Ajoutez un nouveau module et collez-y le code suivant :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    Option Compare Database
    Option Explicit
     
     
     
     
    #If VBA7 Then
        Private Declare PtrSafe Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
        Private Declare PtrSafe Function GetActiveWindow Lib "user32" () As LongPtr
    #Else
        Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
        Private Declare Function GetActiveWindow Lib "user32" () As Long
    #End If
     
     
     
     
    Private Const NIM_ADD = &H0
    Private Const NIM_MODIFY = &H1
    Private Const NIM_DELETE = &H2
     
     
     
     
    Private Const NIF_MESSAGE = &H1
    Private Const NIF_ICON = &H2
    Private Const NIF_TIP = &H4
     
     
     
     
    #If VBA7 Then
        Private Type NOTIFYICONDATA
            cbSize As Long
            hWnd As LongPtr
            uID As Long
            uFlags As Long
            uCallbackMessage As Long
            hIcon As LongPtr
            szTip As String * 64
        End Type
    #Else
        Private Type NOTIFYICONDATA
            cbSize As Long
            hWnd As Long
            uID As Long
            uFlags As Long
            uCallbackMessage As Long
            hIcon As Long
            szTip As String * 64
        End Type
    #End If
     
     
     
     
    Dim tNotifyIconData As NOTIFYICONDATA
     
     
     
     
    Public Sub AddTrayIcon()
        With tNotifyIconData
            .cbSize = Len(tNotifyIconData)
            .hWnd = GetActiveWindow()
            .uID = vbNull
            .uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
            .uCallbackMessage = &H200 ' Une valeur définie par l'utilisateur pour les messages de rappel
            .hIcon = LoadPictureIcon("C:\chemin\vers\votre\icone.ico")
            .szTip = "Votre Application Access" & vbNullChar
        End With
        Shell_NotifyIcon NIM_ADD, tNotifyIconData
    End Sub
     
     
     
     
    Public Sub RemoveTrayIcon()
        Shell_NotifyIcon NIM_DELETE, tNotifyIconData
    End Sub
     
     
     
     
    Private Function LoadPictureIcon(sPath As String) As LongPtr
        Dim pic As IPictureDisp
        Dim hIcon As LongPtr
     
     
     
     
        On Error Resume Next
        Set pic = LoadPicture(sPath)
        If Not pic Is Nothing Then
            hIcon = OleCreatePictureIndirect(pic, IID_IPictureDisp, True)
        End If
     
     
     
     
        Set pic = Nothing
        LoadPictureIcon = hIcon
    End Function
    • Afficher l'icône de notification au chargement du formulaire :
    • Ouvrez le formulaire en mode Conception.
    • Dans les propriétés du formulaire, allez dans l'onglet "Événement" et trouvez l'événement "Sur Ouverture" ou "Sur Chargement".
    • Cliquez sur le bouton "..." à côté de cet événement pour ouvrir l'éditeur VBA.
    • Ajoutez le code suivant pour appeler la fonction AddTrayIcon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Load()
        AddTrayIcon
    End Sub
    • Supprimer l'icône de notification lors de la fermeture du formulaire :
    • Dans l'éditeur VBA du formulaire, ajoutez le code suivant pour l'événement "Sur Fermer" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Unload(Cancel As Integer)
        RemoveTrayIcon
    End Sub
    Vérifiez que le chemin de votre icône est correct dans le code LoadPictureIcon et ajustez-le si nécessaire.
    Tester le formulaire :
    Enregistrez et fermez le formulaire.
    Ouvrez le formulaire pour voir si l'icône de notification apparaît dans la zone de notification à côté de l'horloge dans la barre des tâches.
    En suivant ces étapes, vous devriez être en mesure d'ajouter une icône de notification pour votre application Access.



    Pour transformer une base de données Access en une application exécutable, vous pouvez utiliser Microsoft Access Runtime et les outils de développement fournis avec Microsoft Access. Voici les étapes à suivre pour créer une application autonome à partir de votre base de données Access :
    1. Créer une Interface Utilisateur (UI)


    Assurez-vous que votre base de données Access a une interface utilisateur bien conçue, comprenant des formulaires, des rapports, et éventuellement des macros ou du code VBA pour la logique de l'application.
    2. Configurer les Paramètres de Démarrage


    Configurez votre base de données pour qu'un formulaire spécifique s'ouvre automatiquement au démarrage :
    Ouvrez votre base de données Access.
    Allez dans Fichier > Options > Base de données actuelle.
    Dans la section Options de l'application, définissez le formulaire de démarrage dans Formulaire d'affichage.
    3. Compacter et Réparer la Base de Données


    Avant de créer le fichier exécutable, il est recommandé de compacter et réparer la base de données pour optimiser les performances :
    Allez dans Fichier > Informations > Compacter et réparer la base de données.
    4. Enregistrer la Base de Données en tant que Fichier ACCDE


    Un fichier ACCDE est une version compilée de votre base de données Access qui ne permet pas de voir ou de modifier le code source :
    Allez dans Fichier > Enregistrer sous.
    Sous Types de fichiers de base de données, sélectionnez Créer ACCDE.
    Enregistrez le fichier ACCDE dans l'emplacement souhaité.
    5. Utiliser Microsoft Access Runtime


    Microsoft Access Runtime est une version gratuite d'Access qui permet d'exécuter les applications Access sans nécessiter une licence complète d'Access. Vous pouvez distribuer votre fichier ACCDE avec Access Runtime pour créer une application exécutable.
    Téléchargement de Microsoft Access Runtime


    Téléchargez Microsoft Access Runtime à partir du site web de Microsoft.
    Installez Access Runtime sur les ordinateurs où vous souhaitez exécuter votre application.
    6. Création d'un Installateur (Optionnel)


    Pour une expérience plus professionnelle, vous pouvez créer un package d'installation qui inclut votre fichier ACCDE et Access Runtime :
    Utilisez des outils de création de package comme Inno Setup, Advanced Installer, ou Microsoft Visual Studio Installer Projects.
    Configurez le package pour inclure votre fichier ACCDE et vérifier la présence d'Access Runtime sur l'ordinateur de l'utilisateur.
    Conclusion


    En suivant ces étapes, vous pouvez transformer votre base de données Access en une application exécutable en utilisant les outils intégrés de Microsoft Access. Cela permet de distribuer votre application avec une interface utilisateur personnalisée et de la protéger en tant que fichier ACCDE. En utilisant Access Runtime, vous assurez que vos utilisateurs peuvent exécuter l'application sans avoir besoin d'une version complète de Microsoft Access.

  7. #7
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    Bonjour,
    Bref, ce n'est simplement pas la bonne technologie pour ce genre d'opération.
    Je n'irai pas jusque là.
    Il est toujours possible de faire appel à une fonction VBA sous Access pour exécuter une tâche de fond sans qu'il n'y ait besoin d'une intervention utilisateur à un moment ou à un autre.
    En recourant au planificateur de tâches sous Windows, il est toujours possible de "schejuler" une opération à une date et une heure donnée sans autre nécessité.
    Donc, je dirais qu'à partir du moment où la tâche s'exécute sous Access en VBA, ou sous tous autres moteurs d'exécution tel que JVM en Java ou l'interpréteur PHP par exemple, la fin justifie les moyens.
    C'est le résultat attendu qui prime au final
    Bon DEV
    .
    Diviser c'est régner : United we stand, Divided we fall
    .

  8. #8
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 584
    Points : 142
    Points
    142
    Par défaut
    Ouh là là ! J'ai encore dû mal m'exprimer.

    Ce que j'entends par "tâche de fond", c'est qu'elle se lance au démarrage de l'ordinateur et qu'elle 'vit sa vie" sans intervention régulière. Mais elle affiche un petit formulaire sur lequel défilent certaines information (des rendez-vous). Elle est susceptible de déclencher une alarme si l'heure du rendez-vous approche, et de répondre à un clic pour valider l'alarme : rien de plus compliqué.

    Je pense que la plupart des applications Access ne sont pas très différentes, dans le sens où leurs utilisateurs finaux n'ont aucun besoin de l'interface de développement. Qu'elles soient lancées au démarrage ou à le demande ne doit pas faire beaucoup de différence.

    Me suis-je mieux expliqué ?

    AMIcalement.

  9. #9
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 960
    Points : 1 148
    Points
    1 148
    Par défaut Cacher Access
    Bonjour Yves,

    Cacher Access est une fonctionnalité possible que j'utilise depuis longtemps grâce à ce code développé par Thierry GASPERMENT (Arkham46).

    Je pense que tu trouveras ton bonheur ici.

    J'utilise également la solution proposée par STAR
    Essayer. Rater. Essayer encore. Rater encore. Rater mieux. (Samuel Beckett)
    Ou encore:
    Quand ça ne tourne pas rond dans le carré de l'hypothénuse , c'est signe qu'il est grand temps de prendre les virages en ligne droite.(Pierre Dac)
    ... Des principes qui m'ont beaucoup aidé en informatique...

  10. #10
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 584
    Points : 142
    Points
    142
    Par défaut
    Ça a l'air très intéressant pour "aller plus loin", merci.

    Mais pour ce qui est d'ouvrir une application Access sans l'environnement de développement, c'est quel sujet ? J'avoue que je n'ai pas tout regardé (y'a du monde !), mais je n'ai pas trouvé de titre d'article qui ait l'air de traiter ce sujet.

    AMIcalement.

  11. #11
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 960
    Points : 1 148
    Points
    1 148
    Par défaut Cacher Access + SysTray
    - Tu importes les objets de la base ci-jointe dans ton projet
    - A l'ouverture du 1er formulaire de ta base, tu intègres les lignes suivantes dès le début:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      DoCmd.OpenForm "FrmSysTray", , , , , acHidden
    Form_FrmSysTray.HideAccessWindow
    Puis après, à volonté dans ton application:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub AfficheAccess()
        Form_FrmSysTray.ShowAccessWindow
    End Sub
    (par exemple lors d'un aperçu avant impression, pour avoir le ruban...)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub CacheAccess()
        Form_FrmSysTray.HideAccessWindow
    End Sub

    EDIT: J'oubliais, tous tes formulaires doivent être indépendants...
    Essayer. Rater. Essayer encore. Rater encore. Rater mieux. (Samuel Beckett)
    Ou encore:
    Quand ça ne tourne pas rond dans le carré de l'hypothénuse , c'est signe qu'il est grand temps de prendre les virages en ligne droite.(Pierre Dac)
    ... Des principes qui m'ont beaucoup aidé en informatique...

  12. #12
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 584
    Points : 142
    Points
    142
    Par défaut
    "Indépendants", ça veut dire que les contenus des contrôles ne proviennent pas d'une table ou d'une requête ? Peux-tu me dire, alors, le mécanisme pour les charger STP.

    AMIcalement.

  13. #13
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 960
    Points : 1 148
    Points
    1 148
    Par défaut Formulaire indépendant
    Bonsoir,

    Un petit croquis vaut mieux qu'un ...

    Nom : vault.png
Affichages : 75
Taille : 164,4 Ko

    Tant qu'à faire autant mettre le formulaire en "modal" aussi !
    Essayer. Rater. Essayer encore. Rater encore. Rater mieux. (Samuel Beckett)
    Ou encore:
    Quand ça ne tourne pas rond dans le carré de l'hypothénuse , c'est signe qu'il est grand temps de prendre les virages en ligne droite.(Pierre Dac)
    ... Des principes qui m'ont beaucoup aidé en informatique...

  14. #14
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 960
    Points : 1 148
    Points
    1 148
    Par défaut
    Décidément j'oublie le principal: les objets à intégrer dans ton code:

    HideAccess.zip
    Essayer. Rater. Essayer encore. Rater encore. Rater mieux. (Samuel Beckett)
    Ou encore:
    Quand ça ne tourne pas rond dans le carré de l'hypothénuse , c'est signe qu'il est grand temps de prendre les virages en ligne droite.(Pierre Dac)
    ... Des principes qui m'ont beaucoup aidé en informatique...

  15. #15
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 584
    Points : 142
    Points
    142
    Par défaut
    Ca va me faire un week-end bien occupé. Merci.

    Je rends compte quand ça marche.

    AMIcalement.

  16. #16
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 584
    Points : 142
    Points
    142
    Par défaut
    Bonjour.

    Alors j'avais promis de revenir quand ça marcherait... mais je suis tombé sur un os, dans ce code :
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub Form_Open(Cancel As Integer)
        Dim ctr As Control
        DoEvents
        Mode = ""
        Autoris
        For Each ctr In Me.Controls
          Debug.Print ctr.ControlType & " " & ctr.Name & " = " & ctr.Value
        Next
    End Sub
    Code qui est bien entendu censé s'exécuter à l'ouverture d'un formulaire. Dieu sait pourquoi j'ai voulu m'assurer que j'étais capable de boucler sur l'ensemble des contrôles de ce formulaire.

    Eh bien je ne le suis pas ! Ou alors, au moment où je lance ce code, il n'y a qu'un seul contrôle dans le formulaire (alors que j'en vois plus d'une demi-douzaine !)

    Merci à qui pourra me débloquer.

    AMIcalement.

  17. #17
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 762
    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 762
    Points : 14 796
    Points
    14 796
    Par défaut
    bonjour,
    tu dois certainement avoir un message d'erreur à l'exécution (information que tu n'as pas précisé dans ton post), les propriétés peuvent varier selon le type de contrôle : par exemple les étiquettes ont la propriété Caption mais pas Value, il faut donc tester Controltype pour afficher la propriété Value:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        For Each ctr In Me.Controls
            If ctr.ControlType = acTextBox Or ctr.ControlType = acComboBox Or ctr.ControlType = acListBox Then
              Debug.Print ctr.ControlType & " " & ctr.Name & " = " & ctr.Value
            End If
        Next
    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 ?

  18. #18
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 584
    Points : 142
    Points
    142
    Par défaut
    Merci de ta réponse. Et non, je n'ai pas de message d'erreur, ce dont je me plains d'ailleurs depuis que je suis revenu à Access. Est-ce que ça peut être une question de configuration ?

    Il y a en effet un étiquette devant chaque textbox. Il est vrai que je n'ai pas pensé à cette éventualité. Mais il est surprenant que la première textbox passe avant son étiquette.

    Je vais en effet vérifier qu'il s'agit bien de textebox, mais j'espère une réponse pour les messages d'erreur. Debugger à l'aveugle, je ne trouve pas ça drôle !

    AMIcalement.

  19. #19
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 762
    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 762
    Points : 14 796
    Points
    14 796
    Par défaut
    Et non, je n'ai pas de message d'erreur, ce dont je me plains d'ailleurs depuis que je suis revenu à Access. Est-ce que ça peut être une question de configuration ?
    étonnant, c'est un message de débogage qui devrait s'afficher:

    Nom : _0.JPG
Affichages : 57
Taille : 12,4 Ko

    donc si il n'y a pas l'instruction On Error Resume Next en début de code tu devrais l'avoir aussi ...

    Éventuellement, à vérifier dans le menu VBA: onglet Outils / Options, onglet Général ce qui est coché dans la partie "Récupération d'erreur" (personnellement je n'y ai jamais touché et c'est "Arrêt sur les erreurs non gérées" qui est coché)
    et je ne vois pas quelle autre option pourrait empêcher l'affichage d'un message de débogage ...
    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 ?

  20. #20
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 584
    Points : 142
    Points
    142
    Par défaut
    J'ai cherché ça et j'ai coché "arrêt sur toutes les erreurs", mais il ne s'arrête toujours pas.

    Je suis surpris que tu obtiennes ce que tu dis si VBA ne s'arrête que sur les erreurs non gérées, car "On error resume next" me semble signifier que toutes les erreurs sont gérées, non ?

    Et on dirait qu'on tourne autours d'un truc qui me gène depuis longtemps : pourquoi VBA ne s'exécute pas, sans rien dire ?

    Mais qu'est-ce que je peux faire, si les cadors ne savent pas ? Ton message d'erreur, tu l'as trouvé dans quelle fenêtre de VBA ?

    AMIcalement.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Outlook peut t'il m'ouvrir un formulaire ACCESS ?
    Par tomasdev dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 02/02/2012, 11h33
  2. ouvrir un formulaire access à partir de vb6
    Par samloba dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/06/2011, 17h48
  3. Ouvrir un formulaire Access depuis une feuille Excel
    Par Pitu45 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/01/2009, 14h30
  4. Ouvrir un formulaire Access
    Par Pioul dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/04/2008, 17h18
  5. Ouvrir un formulaire access à partir d'asp
    Par cassauba dans le forum ASP
    Réponses: 1
    Dernier message: 24/10/2007, 15h47

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