1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    octobre 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2013
    Messages : 329
    Points : 106
    Points
    106

    Par défaut Champ actif en surbrillance

    Bonjour à tous,

    Je cherche à faire un truc tout bête mais je coince sur un détail.

    Dans un formulaire continu, je voudrais mettre en surbrillance (par exemple colorier tous les champs) un enregistrement quand il est actif.

    J'arrive à faire cela par un code qui s'active sur l'évènement Activation du formulaire en vérifiant le contenu d'un champ texte et une mise en forme conditionnelle, mais je voudrais aussi que ça fonctionne quand je me mets sur un nouvel enregistrement et ça je n'y arrive pas.

    Soit le nouvel enregistrement est toujours en surbrillance en plus de celui qui est actif, soit c'est toutes les lignes qui le sont.

    Comment faire ?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 424
    Points : 140 185
    Points
    140 185

    Par défaut

    Bonjour,

    Regarde dans ce tutoriel, il y a un exemple : http://claudeleloup.developpez.com/t...laire/#LIX-A-2

    et aussi http://claudeleloup.developpez.com/t...igognes/#LIV-C

    L’astuce consiste :
    - dans l’événement sur activation du formulaire ;
    - à copier dans un contrôle indépendant (éventuellement caché) une valeur unique de l’enregistrement actif.
    Tu peux alors te servir de ce critère d’égalité pour une mise en forme conditionnelle qui ne sera effective que dans l'enregistrement actif.
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    octobre 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2013
    Messages : 329
    Points : 106
    Points
    106

    Par défaut

    Bonjour Claude,

    C'est ce que j'ai fait, sauf pour le nouvel enregistrement qui ne contient aucune valeur. C'est la que se trouve mon problème.

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 424
    Points : 140 185
    Points
    140 185

    Par défaut

    Bah ! il faut ruser un peu plus...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Option Compare Database
    Option Explicit
     
    Private Sub Form_Current()
      Me.txtActif = Nz(Me.AuteurPk, "|") 'on remplace par un caractère peu probable, par ex. un pipe
    End Sub
    et
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    octobre 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2013
    Messages : 329
    Points : 106
    Points
    106

    Par défaut

    Effectivement cette astuce fonctionne, merci Claude !

    Dernier petit tracas sur le même sujet, dans mon formulaire j'ai un bouton avec du VBA pour supprimer les enregistrements.

    Quand je clique sur ce bouton, j'ai une msgbox qui s'ouvre demandant une confirmation avant de supprimer l’enregistrement

    Malheureusement, quand ce bouton est cliqué, l'enregistrement à supprimer ne se met pas en surbrillance, ce n'est le cas que lorsqu'on a répondu à la msgbox.

    Y a t-il une autre astuce pour que ce soit la cas ?

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 424
    Points : 140 185
    Points
    140 185

    Par défaut

    Je ne comprends pas !

    Tu es positionné sur un enregistrement => il est donc « allumé » (puisqu'il est actif).

    Tu cliques sur un bouton => l'enregistrement reste actif, donc allumé

    Tu confirmes la suppression, que se passe-t-il alors ?
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    octobre 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2013
    Messages : 329
    Points : 106
    Points
    106

    Par défaut

    Je suis positionné sur un enregistrement, il est actif et en surbrillance.

    Je clique directement sur le bouton supprimer d'un autre enregistrement, c'est toujours l'ancien qui est en surbrillance, il faut que ce soit le nouveau !

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 424
    Points : 140 185
    Points
    140 185

    Par défaut

    Je clique directement sur le bouton supprimer d'un autre enregistrement,
    Mais alors, cet autre enregistrement devient actif => il s'allume !

    Quelque chose m'échappe dans ton scénario.
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    octobre 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2013
    Messages : 329
    Points : 106
    Points
    106

    Par défaut

    Non il ne s'allume pas tant que je n'ai pas répondu à la msgbox... Comme si le fait de cliquer directement sur le bouton ne déclenchait pas le Form_Current.

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 424
    Points : 140 185
    Points
    140 185

    Par défaut

    Montre le code associé au bouton
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    octobre 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2013
    Messages : 329
    Points : 106
    Points
    106

    Par défaut

    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
    Private Sub btnSupprimer_Click()
    On Error GoTo err_btnSupprimer_Click
     
     If Not IsNull(Me.idVendeurPK) Then
            If MsgBox("Supprimer le vendeur " & Chr(34) & Me.NomVendeur & Chr(34) & " ?", vbYesNo) = vbYes Then
                DoCmd.SetWarnings False
                DoCmd.RunCommand acCmdDeleteRecord
                DoCmd.SetWarnings True
                Dim StrSQL As String
                Dim rst As Recordset
                Dim resultat As Integer
                StrSQL = "SELECT Last(tblVendeurs.idVendeurPK) AS DernierDeidVendeurPK FROM tblVendeurs"
                Set rst = CurrentDb.OpenRecordset(StrSQL)
                resultat = rst![DernierDeidVendeurPK]
                Forms!frmVendeursMagasins.Requery
                Me.Recordset.FindFirst "idVendeurPK=" & resultat
                If CurrentProject.AllForms!frmRechercheVendeursMagasins.IsLoaded Then
                    Forms!frmRechercheVendeursMagasins.filtreCboNomVendeur.Requery
                    Forms!frmRechercheVendeursMagasins.fuR_RM
                End If
            End If
        End If
    Exit_btnSupprimer_Click:
        Exit Sub
     
    err_btnSupprimer_Click:
        MsgBox "Erreur " & Err.Number & Chr(13) & Chr(13) & Err.Description
        Resume Exit_btnSupprimer_Click
     
    End Sub

  12. #12
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 424
    Points : 140 185
    Points
    140 185

    Par défaut

    Essaie d'ajouter call Form_Current comme première instruction (sans garantie)

    N.B. Plus disponible pdt 3/4 heure.
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  13. #13
    Membre régulier
    Homme Profil pro
    Inscrit en
    octobre 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2013
    Messages : 329
    Points : 106
    Points
    106

    Par défaut

    Déjà testé et cela ne fonctionne pas...

    Sinon je viens de remarquer que l'astuce pour mettre en surbrillance le nouvel enregistrement a un petit soucis, dès que je commence à saisir ce nouvel enregistrement, un nouveau vide est créé juste en dessous et c'est celui là qui passe en surbrillance !

  14. #14
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 424
    Points : 140 185
    Points
    140 185

    Par défaut

    Sinon je viens de remarquer que l'astuce pour mettre en surbrillance le nouvel enregistrement a un petit soucis, dès que je commence à saisir ce nouvel enregistrement, un nouveau vide est créé juste en dessous et c'est celui là qui passe en surbrillance !
    Réinitialise, le contrôle indépendant dans l'événement Sur modification des contrôles susceptibles d'être complétés en premier.

    Dans mon exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Compare Database
    Option Explicit
     
    Private Sub AuteurNom_Change()
      Me.txtActif = Me.AuteurPk
    End Sub
     
    Private Sub AuteurPrenom_Change()
      Me.txtActif = Me.AuteurPk
    End Sub
     
    Private Sub Form_Current()
      Me.txtActif = Nz(Me.AuteurPk, "|")
    End Sub
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  15. #15
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 424
    Points : 140 185
    Points
    140 185

    Par défaut

    Non il ne s'allume pas tant que je n'ai pas répondu à la msgbox... Comme si le fait de cliquer directement sur le bouton ne déclenchait pas le Form_Current.
    Ajoute DoEvents comme première instruction (testé).
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  16. #16
    Membre régulier
    Homme Profil pro
    Inscrit en
    octobre 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2013
    Messages : 329
    Points : 106
    Points
    106

    Par défaut

    Ca fonctionne en réinitialisant le contrôle indépendant sur modification. Par contre chaque fois qu'une lettre est tapée le formulaire clignote, c'est assez désagréable...

    Pour le DoEvents ça marche mais pas tout le temps

  17. #17
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 424
    Points : 140 185
    Points
    140 185

    Par défaut

    Je donne ma langue au chat !
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  18. #18
    Membre régulier
    Homme Profil pro
    Inscrit en
    octobre 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2013
    Messages : 329
    Points : 106
    Points
    106

    Par défaut

    Le chat n'en veut pas !

  19. #19
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 424
    Points : 140 185
    Points
    140 185

    Par défaut

    ... mais je n'ai rien d'autre à lui proposer !
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  20. #20
    Membre régulier
    Homme Profil pro
    Inscrit en
    octobre 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2013
    Messages : 329
    Points : 106
    Points
    106

    Par défaut

    Je suis sur que si et il est patient !

Discussions similaires

  1. Connaitre le champ actif
    Par Tefonline dans le forum jQuery
    Réponses: 7
    Dernier message: 24/12/2009, 00h33
  2. [Toutes versions] Emulateur EXTRA : champ actif
    Par Duddy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/09/2009, 14h16
  3. rendre un champ actif par un mot de passe
    Par logidev dans le forum IHM
    Réponses: 2
    Dernier message: 15/07/2009, 11h10
  4. Récupérer la valeur du champs actif
    Par chasseur37 dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/11/2006, 11h27
  5. rave report champs actifs
    Par pierrot67 dans le forum Rave
    Réponses: 4
    Dernier message: 03/03/2006, 17h39

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