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

IHM Discussion :

Generer un code dans un état


Sujet :

IHM

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut Generer un code dans un état
    Bonjour,

    J'ai été initiée dernièrement au vba et travaillais donc sur des formulaires.
    Je voudrais travailler sur état et faire un code "If" mais il ne fonctionne pas.
    Il s'agit d'une erreur de syntaxe je pense, alors je voulais savoir si le "Me" de "If Me. ...", est valable quand on est dans un état ?

    (Pas sûre d'être claire là sur ce coup là...)

    Bien à vous !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Oui le Me fonctionne dans un ETAT.

    Il faudrait que tu nous expliques ce que tu veux faire dans ton Etat avec Codes, ce que cela donne, etc...

    Et tout cela en respectant les règles du forum (Balises, etc..)

    Starec

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Ai-je écrit qqch qui n'aurait pas respecté les règles du forum ? Si c'est lecas, mille excuses !

    En ce qui concerne mon code, en fait je crée un état basé sur un formulaire assez complet.
    Il se trouve qu'à l'impression, certaines informations ne sont pas nécessaires (elles dépendent de cases cochées ou non dans le formulaire) et je voudrais donc qu'elles n'apparaissent pas tout simplement. Alors j'ai pensé passé par du "If" ....... visible = false.

    Voilà.

    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Tu n'as trancscrit aucune règle, c'était une prevention.

    C'est tout à fait faisable, cependant il faut savoir ou placer le code, sur quel évènement de ton Etat.

    C'est pour cela qu'un bout de code avec une explication nous aiderait à mieux comprendre.

    Starec

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Où le placer ? Eh bien dès l'aperçu donc j'ai présumé que c'était à l'ouverture de l'état (je le rappelle, je suis novice en VBA donc je m'excuse par avance si je n'emploie les bons termes techniques ou si je ne comprends les vôtres).

    Moi j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Report_Open(Cancel As Integer)
    If Offre__si_location_.Value = True Then
    Me.Compromis.Visible = False
    End If
     
    End Sub
    En gros, quand je clique dans mon formulaire sur le bouton impression, je souhaiterais (pour ce cas par exemple) que, si la case "offre si location" est cochée dans ce formulaire, l'état n'affiche que "Offre" et pas "compromis", avec toutes les informations qui correspondent à cette case cochée.

    tu me suis ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Déjà il faut que ton code soit sur l'évènement Format de la zone détail (si compromis est dans détail)

    De plus ton contrôle Offre__si_location_ étant dans un formulaire il faut faire appel à celui-ci;

    Pour cela une peu de lecture de ce tuto de Loufab est indispensable.

    Starec

    Edit : Les régles c'est entre autre l'usage des balises codes

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Bon bah il ne me reste plus qu'à essayer de comprendre ce qui est écrit dans le lien que vers lequel tu m'as renvoyée.

    Merci.

  8. #8
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Re moi

    J'ai un peu de mal avec les explications du tuto.
    Je sais, je sais, ce sont censés être des explications mais pour ceux qui connaissent déjà VBA. Moi, ... "appels valides", récupération de valeurs..."..
    je ne comprends pas trop en fait.

    Un petit coup de pouce ?

  9. #9
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    En revenant sur ce post avec mon année et demi de forum, je me suis aperçue que ce que tu me disais était très simple à comprendre !

    Avec le recul, Je me demande comment j'ai pu poser cette question ! Mais bon, n'étant pas encore une pro, en voici une en rapport : comment faire pour mettre plusieurs codes du coup ? Car j'ai placé mon code comme Starec me l'avait montré plus, mais j'en ai d'autres du même genre à mettre...

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Peux-tu détailler un peu plus.

    Au fait Starec n'existe plus

    Philippe

  11. #11
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Citation Envoyé par Philippe JOCHMANS Voir le message

    Au fait Starec n'existe plus

    Philippe
    <- Je sais, "Philippe" était trop long à écrire, d'autant que j'ai vraiment du mal avec l'orthographe...

    Bref, oui comme je disais, j'ai mis dans le détail de mon état, un code sur l'événement au formatage. Ce code comme bien d'autre que je dois placer encore a pour but d'afficher ou non des zones de texte en fonction de valeur sélectionnées. Le truc, c'est que j'ai placé un code mais je n'arrive pas à placer les autres...

  12. #12
    Invité
    Invité(e)
    Par défaut
    Re

    Citation Envoyé par Nessie37 Voir le message
    Le truc, c'est que j'ai placé un code mais je n'arrive pas à placer les autres...
    Je ne vois vraiment pas pourquoi tu ne peux pas placer tout ces codes sur le formatage

    Peux-tu nous dire ce que tu veux faire de plus, et est-ce que tout est dans la zone détail ou dans d'autres zones, car chaque zone a son propre formatage.

    Philippe

  13. #13
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Tout se passe dans la zone DETAIL.
    Regarde ce premier 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
    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
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
        'Désactive les zones de textes inutiles (utilise la Sub plus bas dans ce module)
    desactivestatut
     
    End Sub
     
    Public Sub desactivestatut()
        'Désactive les zones de textes inutiles (utilise la Sub + bas)
    txt11a14False
     
        If Me.Statut.Value = "En cours" Then
            txt11a14False
        ElseIf Me.Statut.Value = "Demande satisfaite" Then
            txt11a14True
        ElseIf Me.Statut.Value = "Recherche abandonnée" Then
            txt11a12False13a14True
     
    End If
    End Sub
     
    Public Sub txt11a14False()
    'Désactive les zones de textes inutiles
        Me.Modifiable162.Visible = False
        Me.Texte149.Visible = False
        Me.Texte151.Visible = False
     
    End Sub
     
    Public Sub txt11a14True()
    'Désactive les zones de textes inutiles
        Me.Modifiable162.Visible = True
        Me.Texte149.Visible = True
        Me.Texte151.Visible = True
     
    End Sub
     
    Public Sub txt11a12False13a14True()
    'Désactive les zones de textes inutiles
        Me.Modifiable162.Visible = False
        Me.Texte149.Visible = False
        Me.Texte151.Visible = True
     
    End Sub
    Il fonctionne à merveille. Mais je veux en ajouter d'autres comme par 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Public Sub DesactiveZonesTexte()
        'Désactive les zones de textes inutiles (utilise la Sub + bas)
    txt59a63False
     
        'En fonction de la valeur saisie, affiche ou non les zones de texte _
        utilise les sub txt59a63False, txt59True61a63False et txt59False61a63True _
        plus bas dans ce module
        If Me.codemed.Value = 9 Then
            txt59True61a63False
        ElseIf Me.codemed.Value = 10 Then
            txt59True61a63False
        ElseIf Me.codemed.Value = 12 Then
            txt59True61a63False
        ElseIf Me.codemed.Value = 13 Then
            txt59True61a63False
        ElseIf Me.codemed.Value = 14 Then
            txt61True59a63False
        ElseIf Me.codemed.Value = 16 Then
            txt59True61a63False
        ElseIf Me.codemed.Value = 2 Then
            txt59False61a63True
        ElseIf Me.codemed.Value = 3 Then
            txt59False61a63True
        ElseIf Me.codemed.Value = 6 Then
            txt59False61a63True
        ElseIf Me.codemed.Value = 7 Then
            txt59False61a63True
        ElseIf Me.codemed.Value = False Then
            txt59False61a63True
     
    End If
    End Sub
    Une fois placé, bah rien ne se passe...

  14. #14
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Hello, il m'est toujours impossible de rajouter des codes.
    Ces codes sont dans forms et conditionnent sur update des zones de texte ou encore des Enabled.

    Passé sous forme d'état, ces événements ne fonctionnent pas...J'ai pourtant mis dans le DETAIL de l'état sur formatage les sub que je souhaite, ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
        'Désactive les zones de textes inutiles (utilise la Sub plus bas dans ce module)
    desactivestatut
     
    End Sub
    Puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Sub desactivestatut()
        'Désactive les zones de textes inutiles (utilise la Sub + bas)
    txt11a14False
     
        If Me.Statut.Value = "En cours" Then
            txt11a14False
        ElseIf Me.Statut.Value = "Demande satisfaite" Then
            txt11a14True
        ElseIf Me.Statut.Value = "Recherche abandonnée" Then
            txt11a12False13a14True
    End If
    End Sub
    et enfin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Sub txt11a14False()
    'Désactive les zones de textes inutiles
        Me.Liste155.Visible = False
        Me.Texte149.Visible = False
        Me.Texte151.Visible = False
     
    End Sub
    etc....

    Celle-là fonctionne. mais quand je veux en mettre une autre du même genre ça ne marche pas. ça me dit :
    L'expression Au Formatage entrée comme paramètre de la propriété de type événement est à l'origine d'ne erreur. Nom ambigu détecté : xxxxx
    alors que ce xxxxx est un code du même genre que celui cité précédemment...

Discussions similaires

  1. [WD19] Code dans un modèle d'état inactif dans l'état final
    Par Simeonn dans le forum WinDev
    Réponses: 0
    Dernier message: 20/02/2014, 12h11
  2. generer le code d'un tableau php dans un fichier
    Par nicerico dans le forum Langage
    Réponses: 1
    Dernier message: 26/03/2013, 15h49
  3. Réponses: 2
    Dernier message: 10/11/2009, 14h00
  4. Création de codes barres dans un état access
    Par caporal dans le forum IHM
    Réponses: 5
    Dernier message: 15/11/2004, 14h13

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