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 :

Affecté deux valeur d'un double click. [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut Affecté deux valeur d'un double click.
    Bonjour,

    Dans l'evenement double click d'un champ, j'ai mis 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
    Private Sub Prgramme_projet_DblClick(Cancel As Integer)
        If Nz(Forms![frm_attestation]![Programme], "") = "" Then
            Forms![frm_attestation]![Programme] = Me.Prgramme_projet
     
        If Nz(Forms![frm_attestation]![Numero de contrat], "") = "" Then
            Forms![frm_attestation]![Numero de contrat] = Me.Prgramme_projet
        Else
            Forms![frm_attestation]![Programme] = Forms![frm_attestation]![Programme] & ";" & Me.Prgramme_projet
            Forms![frm_attestation]![Numero de contrat] = Forms![frm_attestation]![Numero de contrat] & ";" & Me.Prgramme_projet
     End If
    DoCmd.Close acForm, Me.Name             ' ferme le formulaire pays
     
    End Sub
    Le but est en cliquant sur un champs deux valeur sont affecté vers un autre formulaire remplissant deux champs, exemple :

    Si je click sur le champ [Numero de contrat], la valeur du champ [Numero de contrat] et celle du champ [Programme] s'affectent dans les champs respectives dans l'autre formulaire.

    Actuellement en cliquant sur le champ, j'ai le message d'erreur suivant :

    Erreur de compilation
    Bloc if sans end if

    Cordialement.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 265
    Points
    34 265
    Par défaut
    Salut,

    regarde, pour l'instant tu as un End If manquant apres ton premier bloc If Then

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Nz(Forms![frm_attestation]![Programme], "") = "" Then
            Forms![frm_attestation]![Programme] = Me.Prgramme_projet
     End If
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    Merci pour la reponse, sauf que, j'ai la valeur du champ [Programme] qui va sur le champ [Programme] et le champ [Numero de contrat].

    Cordialement.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 265
    Points
    34 265
    Par défaut
    OK,

    la regle ici c'est d'avoir pour chaque bloc If Then un End If en sortie

    donc sans me soucier ici de ce que tu mettras dans tes boucles, il te faudra avoir 1 combinaison parmi les deux suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If Nz(Forms![frm_attestation]![Programme], "") = "" Then
    '
        If Nz(Forms![frm_attestation]![Numero de contrat], "") = "" Then
    '
        Else
        '
        End if
     End If
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If Nz(Forms![frm_attestation]![Programme], "") = "" Then
    '
    End If
    If Nz(Forms![frm_attestation]![Numero de contrat], "") = "" Then
    '
    Else
    '
    End If
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Pour etre franc, je n'ai pas vraiment compris votre demarche.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 265
    Points
    34 265
    Par défaut
    Le message d'erreur te dit qu'il te manque un
    pour fermer un If ...Then

    comme tu as 2 If Then, il te faut rajouter un End If dans ton code

    Je t'ai fait une premiere proposition que tu as rejete, je t'en fais une seconde qui te donne les 2 solutions envisageables, si aucune ne te convient, je n'ai rien d'autre.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Oui, j'avais compris, je n'ai d'ailleur plus de message d'erreur, mais pour la 1ere solution, rien ne se passe en double cilquant sur le champ et la seconde solution la valeur du champ [Programme] s'affecte dans le champ [Numero de contrat] et [Programme].

    C'est juste pour le second mais faux pour le 1er champ.

    cordialement.

  8. #8
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Après quelque petit changement, ca marche, voici le code final :

    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
    Private Sub Prgramme_projet_DblClick(Cancel As Integer)
        If Nz(Forms![frm_attestation]![Programme], "") = "" Then
            Forms![frm_attestation]![Programme] = Me.Prgramme_projet
     
          End If
     
        If Nz(Forms![frm_attestation]![Numero de contrat], "") = "" Then
            Forms![frm_attestation]![Numero de contrat] = Me.Numero_de_contrat
        Else
            Forms![frm_attestation]![Programme] = Forms![frm_attestation]![Programme] & ";" & Me.Prgramme_projet
            Forms![frm_attestation]![Numero de contrat] = Forms![frm_attestation]![Numero de contrat] & ";" & Me.Numero_de_contrat
     
    End If
     
     
    DoCmd.Close acForm, Me.Name             ' ferme le formulaire pays
     
     
     
    End Sub
    Merci.

    Cordialement.

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 13/02/2015, 16h24
  2. [AC-2003] Affecter une valeur par double-clic sur une zone de liste
    Par schamax dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/02/2014, 12h33
  3. Réponses: 2
    Dernier message: 14/04/2011, 07h35
  4. Réponses: 2
    Dernier message: 29/04/2010, 13h27
  5. Affectation de valeurs entre deux vecteurs
    Par demcoul dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 16/10/2008, 22h44

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