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 :

Rendre visible un contrôle variable


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 66
    Points : 61
    Points
    61
    Par défaut Rendre visible un contrôle variable
    Bonsoir,
    Je souhaiterais rendre visible un contrôle dans un état, mais le nom de ce controle varie suivant la ligne en cours
    J'ai 56 contrôles dont le premier s'appelle texte74 et le dernier texte129.
    (je ne me suis pas foulé pour les noms )

    Voici mon 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
    15
    16
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    Dim Num_Ligne As Long
    Dim ligne As Long
    Dim Name_Control As String
     
     
    ligne = Reports![Fiche de maintenance]!Ligne_Detail
     
    Num_Ligne = 73
    Do
    Num_Ligne = Num_Ligne + 1
     
    Reports![Fiche de maintenance]![Name_Control.value].Visible = True
    Loop While Num_Ligne = ligne + 73
     
    End Sub
    Merci d'avance

  2. #2
    Membre averti Avatar de mcdotta
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 292
    Points : 324
    Points
    324
    Par défaut
    Oui....

    C'est bien....

    Et après ?????

    Qu'est ce qui ne marche pas ?

    A vu de nez, il faudrait


    - enlever le value dans la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Reports![Fiche de maintenance]![Name_Control.value].Visible = True
    car là tu travailles sur l'objet controle et non sa valeur

    - Ensuite, si tu travailles sur ton rapport, tu peux remplacer Reports![Fiche de maintenance]! par Me.

    - Puis, il faut que tu testes au niveau du nom du control pour le rendre visible ou non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim strName as string
    ......
    strName = "texte" & Num_ligne
    Me(strName).Visible = true
    ....
    - A un moment, il faut remettre la propriété Visible des autres contrôles à Oui car ils gardent pour les lignes suivantes les propriétés précédemment attribuées : si sur la ligne x, tu as passé ton contrôle visible non, sur la ligne x+1 tu dois le remettre oui.

    - Enfin sitôt que tu veux manipuler des objets via du code, il faut les RENOMMER de façon claire et intelligible...

    @+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 66
    Points : 61
    Points
    61
    Par défaut
    Je te remercie pour ces conseils, je vais les mettre en application.

    Je m'en vais modifier le code... 23h17 ...
    heu en fait çà attendra demain.
    A+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 66
    Points : 61
    Points
    61
    Par défaut
    Salut
    Après tous ce temps j'apporte une solution même si avec le recul je me dis que j'étais pas très clair .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
                Dim texte As Control
                Dim Num_Colonne As Long
     
            For Each texte In Me
     
                If texte.Name Like "Texte*" Then
                    Num_Colonne = Num_Colonne + 1
                    texte.Visible = True
                    If Num_Colonne = Ligne_en_cours - 1 Then Exit For
                End If
            Next
    A+

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 24/03/2015, 09h15
  2. [XL-2007] Rendre visible une textbox avec variable
    Par Fred246 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/12/2009, 09h37
  3. Rendre visible des contrôles sur un Form ayant des zones transparentes
    Par ProgElecT dans le forum Vos contributions VB6
    Réponses: 8
    Dernier message: 20/09/2007, 19h25
  4. Réponses: 3
    Dernier message: 12/03/2005, 21h30
  5. rendre visible ou invisible une picture (icon)
    Par Robleplongeur dans le forum MFC
    Réponses: 3
    Dernier message: 18/05/2004, 12h23

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