1. #1
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut Creation d'un message lors de l'ouverture d'un formulaire

    Bonjour,

    J'ai sur un Formulaire, un bouton qui ouvre un autre formulaire sur les données concernant le périmètre que lequel j'etais positionné dans le 1er formulaire.

    Il arrive que ces données ne soient pas saisi sur le second formulaire, actuellement il ouvre toujours sur le 1er enregistrement effectué sur le second formulaire, du coup je me suis inspiré du code que j'ai ailleurs pour l'adapter a ce cas, or quand je click sur le bouton j'ai le message d'erreur suivant :

    Erreur d’exécution '438':
    Proprieté ou methode non gerée par cet objet.




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Commande25_Click()
     
     DoCmd.OpenForm "frm_signalitique_superficiaire", , , , , , Me.Nom_Perimetres
      Dim rs As Object
     
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[Nom Perimetres] = '" & Me.Commande25 & "'"
        If rs.NoMatch Then
            MsgBox "Perimetre inexistant! voulez vous le saisir"
        Else
            Me.Bookmark = rs.Bookmark
        End If
     
    End Sub
    Si l'utilisateur click sur Ok le formulaire s'ouvre sur un nouvel enregistrement.
    Merci.

    Cordialement.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 585
    Points : 21 462
    Points
    21 462

    Par défaut

    Bonjour,

    Quand tu utilises "Me" tu t'attends à avoir quel objet formulaire ?

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Oui un formulaire, j'ai apporté une modification

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Commande25_Click()
     
     DoCmd.OpenForm "frm_signalitique_superficiaire", , , , , , Me.Nom_Perimetres
      Dim rs As Object
     
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[Nom Perimetres] = '" & Me.[Nom Perimetres] & "'"
        If rs.NoMatch Then
            MsgBox "Perimetre inexistant! voulez vous le saisir"
        Else
            Me.Bookmark = rs.Bookmark
        End If
     
    End Sub
    Il ouvre le formulaire, mais sur le premier enregistrement et sans avoir de message.

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 585
    Points : 21 462
    Points
    21 462

    Par défaut

    la question c'était lequel ?
    Celui que tu ouvres juste avant ?
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Ouvrir un formulaire partir d'un autre formulaire et affiché certaines données qui sont sur le 1er formulaire, notamment le nom du perimetre, dans le cas ou sur le second formulaire il y a absence de ces données, un message nous l'indique et nous propose de saisir les données.

    Si l'utilisateur accepte le formulaire s'ouvre sur un nouvel enregistrement.

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 585
    Points : 21 462
    Points
    21 462

    Par défaut

    Désolé ! Si tu ne réponds pas aux questions que je te pose on ne va pas s'en sortir.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Ah, desolé, je n'avais pas compris, j’étais pourtant sur que j'avais compris.

    S'il vous plait, vous pouvez me reformuler la question.

    Je comprend vite quand on m'explique beaucoup.

    Cordialement.

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 585
    Points : 21 462
    Points
    21 462

    Par défaut

    Est-ce que dans ton code tu souhaites que "Me" désigne "frm_signalitique_superficiaire" ?
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  9. #9
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Oui c'est le nom du formulaire que je souhaite ouvrir avec dedans un champ qui s'appel [Nom Perimetres]

  10. #10
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 585
    Points : 21 462
    Points
    21 462

    Par défaut

    Tu ne peux pas utiliser Me en dehors de son périmètre.

    Me ne fonctionne QUE dans le code du formulaire qu'il désigne.

    N'utilise pas Me mais Forms(...) ou change de méthode. Mon tuto sur les appels formulaires t'aidera surement.

    Par exemple :
    Interroge la source du formulaire puis quand tu sais si la valeur existe tu ouvres le formulaire en conséquence.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  11. #11
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    j'ai fait ca, toujours rien, j'ai tout plein de messages d'erreur :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Commande25_Click()
     
     DoCmd.OpenForm "frm_signalitique_superficiaire", , , , , , Me.Nom_Perimetres
      Dim rs As Object
     
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[Nom Perimetres] = Forms(frm_signalitique_superficiaire)"
        If rs.NoMatch Then
            MsgBox "Perimetre inexistant! voulez vous le saisir"
        Else
            Me.Bookmark = rs.Bookmark
        End If
     
    End Sub

  12. #12
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2017
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2017
    Messages : 114
    Points : 141
    Points
    141

    Par défaut

    Si tu essayes ça comme ça?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Commande25_Click()
     
     DoCmd.OpenForm "frm_signalitique_superficiaire", , , , , , Me.Nom_Perimetres
      Dim rs As Object
     
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[Nom Perimetres] = " & Forms("frm_signalitique_superficiaire")!Commande25
        If rs.NoMatch Then
            MsgBox "Perimetre inexistant! voulez vous le saisir"
        Else
            Me.Bookmark = rs.Bookmark
        End If
     
    End Sub

  13. #13
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Bonjour syrald,

    Merci pour la reponse, je n'ai pas actuellement la base sous les yeux, demain matin je ferais le test, en attendant, je ferais un tour sur le tuto de Loufab, histoire de comprendre comme que ca marche.

    Merci.

    Cordialement.

  14. #14
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 585
    Points : 21 462
    Points
    21 462

    Par défaut

    Bonjour,
    @syrald : non plus.

    Le problème vient de l'utilisation du Me pour désigner un formulaire extérieur.
    Me désigne TOUJOURS l'objet (formulaire/état/classe) propriétaire du module dans lequel il est utilisé.

    Ici ce n'est pas le cas. adelion7015 veut que Me désigne "frm_signalitique_superficiaire".

    Soit on passe pas une syntaxe forms("frm_signalitique_superficiaire"). soit on instancie ce formulaire dans une variable Form.

    A noter que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '" & Me.[Nom Perimetres] & "'"
    est la seule partie valide dans ce code puisque c'est bien la valeur de ce contrôle qui doit être recherchée.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  15. #15
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Bonjour,

    J'ai fait des essais en rentrant ce matin et ça ne marche toujours pas avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Commande25_Click()
     
     DoCmd.OpenForm "frm_signalitique_superficiaire", , , , , , Me.Nom_Perimetres
      Dim rs As Object
     
        Set rs = Me.Recordset.Clone
         rs.FindFirst "[Nom Perimetres] = " & Forms("frm_signalitique_superficiaire")![Nom Perimetres]
        If rs.NoMatch Then
            MsgBox "Perimetre inexistant! voulez vous le saisir"
        Else
            Me.Bookmark = rs.Bookmark
        End If
     
    End Sub
    j'ai le message suivant :

    Erreur d'execution 3077:
    Erreur de syntaxe (operateur absent) dans l'expression.

    Cordialement.

  16. #16
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 585
    Points : 21 462
    Points
    21 462

    Par défaut

    Si tu postes une erreur il faut indiquer la ligne sur laquelle elle se produit.

    Une piste :

    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
    Private Sub Commande25_Click()
     
     DoCmd.OpenForm "frm_signalitique_superficiaire", , , , , , Me.Nom_Perimetres
      Dim rs As dao.recordset
     
        Set rs = forms("frm_signalitique_superficiaire").RecordsetClone
     
        rs.FindFirst "[Nom Perimetres] = '" & Me.[Nom Perimetres] & "'"
        If rs.NoMatch Then
            MsgBox "Périmètre inexistant ! Voulez-vous le saisir ?"
        Else
            forms("frm_signalitique_superficiaire").Recordset.Bookmark = rs.Bookmark
        End If
     
    End Sub
    Il y a d'autres méthodes pour arriver au résultat.
    Rechercher l'existence avant d'ouvrir et ouvrir en conséquence. Ce qui serait plus logique et plus sécurisé.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  17. #17
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 585
    Points : 21 462
    Points
    21 462

    Par défaut

    Adelion : Désolé d'insister mais je pense que tu devrais vraiment prendre connaissance de ce tuto :

    http://loufab.developpez.com/tutorie...pelformulaire/
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  18. #18
    Membre du Club
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 145
    Points : 68
    Points
    68

    Par défaut

    Bonjour,

    Ca marche.

    Loufab, je le ferais avec grand plaisir et intérêt, sachez que je m'inspire beaucoup de vos travaux, qui a mon sens, leurs utilités est presque infinie, c'est juste qu'a present, j'ai une petite urgence.

    Merci et encore merci.

    Cordialement.

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

Discussions similaires

  1. VBA: Affichage d'un message lors de l'ouverture d'un fichier word
    Par LANGAZOU dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 02/03/2015, 20h32
  2. Réponses: 12
    Dernier message: 27/12/2013, 12h41
  3. Réponses: 6
    Dernier message: 16/08/2006, 14h20
  4. [VBA-E]message lors de l'ouverture d'un autre classeur
    Par repié dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/02/2006, 16h30
  5. Réponses: 9
    Dernier message: 27/10/2004, 18h00

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