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 :

Case a cocher associer à bouton bascule


Sujet :

IHM

  1. #1
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut Case a cocher associer à bouton bascule
    Bonjour,

    Je souhaiterais associer une case à cocher dans un formulaire, qui associer à un bouton a bascule "imprimer" me lancera l'impression d'un état de fiche client en plus du planning associé. Les fiches clients seront celles des clients qui seront sur le planning.
    J'ai un petit peu de mal à démarrer le code pour ce bouton à cocher. J'ai créé un groupe d'option dans mon formulaire. Maintenant c'est un peu plus compliqué.

    Voici le code actuel

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    Option Compare Database
    Option Explicit
    
    Private Sub Annuler_Click()
        If CurrentProject.AllReports("Planning retard").IsLoaded Then
            DoCmd.Close acReport, "Planning retard"
        End If
        
        If CurrentProject.AllReports("Planning visite").IsLoaded Then
            DoCmd.Close acReport, "Planning visite"
        End If
        
        DoCmd.Close acForm, Me.Name 'ferme le formulaire en cours
        
        DoCmd.OpenForm "Menu Etat"  'ouvre le formulaire menu états'
        
    End Sub
    
    Private Sub Aperçu_Click()
        If CurrentProject.AllReports("Planning retard").IsLoaded Then
            DoCmd.Close acReport, "planning retard"
        End If
        If CurrentProject.AllReports("Planning visite").IsLoaded Then
            DoCmd.Close acReport, "planning visite"
        End If
        
        Select Case Me.ImprimerPlanningsPour
            Case 1
                DoCmd.OpenReport "Planning retard", acViewPreview
            Case 2
                DoCmd.OpenReport "Planning visite", acViewPreview, "", "[Commercial]like '" & Nz(Me.SélectionCommercial, "*") & "'"
        End Select
    End Sub
    
    
    
    Private Sub Form_Unload(Cancel As Integer)
        If CurrentProject.AllReports("Planning retard").IsLoaded Then
            DoCmd.Close acReport, "Planning retard"
        End If
        
        If CurrentProject.AllReports("Planning visite").IsLoaded Then
            DoCmd.Close acReport, "Planning visite"
        End If
        
    End Sub
    
    
    
    Private Sub ImprimeFicheClient_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 'ImprimeFicheClient_... est le nom du cadre
    'Select case Me  Voici le début de mon code pour le bouton.
    End Sub
    
    Private Sub Imprimer_Click()
        If CurrentProject.AllReports("Planning retard").IsLoaded Then
            DoCmd.Close acReport, "Planning retard"
        End If
        
        If CurrentProject.AllReports("Planning visite").IsLoaded Then
            DoCmd.Close acReport, "Planning visite"
        End If
        
        Select Case Me.ImprimerPlanningsPour
            Case 1
                DoCmd.OpenReport "Planning retard", acViewNormal
            Case 2
                DoCmd.OpenReport "Planning visite", acViewNormal, "", "[Commercial]like '" & Nz(Me.SélectionCommercial, "*") & "'"
        End Select
    
    End Sub
    
    Private Sub ImprimerPlanningsPour_AfterUpdate()
        If Me.ImprimerPlanningsPour = 1 Then
            Me.SélectionCommercial.Enabled = False
        Else
            Me.SélectionCommercial.Enabled = True
            Me.SélectionCommercial.SetFocus
        End If
    End Sub
    Merci d'avance

    Marcopololo

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

    Nous on a un peu de mal avec ton code, car :

    • Pas de commentaires.
    • Tu nous mets l'ensemble sans nous expliquer chaque partie.
    • Tu nous dis que tu as du mal à démarrer, mais pourquoi, qu'est-ce qui bloque ?


    Donc plusieurs conseils :

    Détailles plus, en expliquant chaque partie de code, ce qu'elle doit faire, etc ...
    Avant, un peu de lecture : http://starec.developpez.com/tuto/groupeoptions/

    Starec

  3. #3
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    C'est vrai que j'ai été plus que brouillons sur ce coup là. Désolé.

    Depuis je suis arrivé à finaliser ce que je veux.
    Donc je vous met le code de la zone de mon bouton "imprimer" que je veux mettre en lien avec cette case à cocher.

    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
    Private Sub Imprimer_Click()
        If CurrentProject.AllReports("Planning retard").IsLoaded Then
            DoCmd.Close acReport, "Planning retard"
        End If
        
        If CurrentProject.AllReports("Planning visite").IsLoaded Then
            DoCmd.Close acReport, "Planning visite"
        End If
        
        Select Case Me.ImprimerPlanningsPour   'groupe d'option de mon formulaire
            Case 1
                DoCmd.OpenReport "Planning retard", acViewNormal
            Case 2
                DoCmd.OpenReport "Planning visite", acViewNormal, "", "[Commercial]like '" & Nz(Me.SélectionCommercial, "*") & "'"
        End Select
        Si Case  2 est sélectionné et si ma case est cochée je veux aussi imprimer les fiches clients liés à ma sélection.
        Select Case Me.ImprimerFicheClient
            Case 1
                DoCmdReport "Fiche Client", acViewNormal
        End Select
    
    End Sub
    Dans le même temps j'ai écrit un bout de code pour masquer ma case à cocher en fonction des conditions mais ca bug :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ImprimeFicheClient_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 'ImprimeFicheClient_... est le nom du cadre
    
    If Me.ImprimerPlanningsPour = 1 Then   'Si la case planning retard est cochée alors la case à cochée est grisée
            Me.ImprimeFicheClient.Enabled = null  'pour griser la case si la case d'option choisie est 1
        Else
            Me.ImprimeFicheClient.Enabled = True   'case à cocher valide si lla case d'option choisie n'est pas 1
            Me.ImprimeFicheClient.SetFocus
        End If
    
    End Sub
    J'espère avoir été un peu plus clair.

    Encore merci de votre patience.

    MArcopololo

  4. #4
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    Bon, j'ai un peu avancé.
    Les choses sont plus clairs.

    J'ai créé un premier groupe d'options et je veux que si option 1 est choisi je grise la case à cocher du groupe 2.

    Mon soucis est d'agir dans mon code d'un groupe à l'autre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ImprimerPlanningsPour_AfterUpdate()
        If Me.ImprimerPlanningsPour = 1 Then         'Si l'option planning retard est choisie
            Me.SélectionCommercial.Enabled = False   'le champ commercial est grisé
          Else
            Me.SélectionCommercial.Enabled = True    'Si l'option 2 planning visite est choisi elles sont accessibles
            Me.SélectionCommercial.SetFocus
            
        End If
        
    End Sub
    Ce premier code fonctionne (il se trouve dans le même sub)

    Par contre pour ce second code ne veut pas griser ma case à cocher. La différence c'est qu'elle fait appel à FicheAimprimer. Le problème vient il de là ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub FicheAImprimer_AfterUpdate()      'Grisage ou apparition de la case à cocher
    
    If Me.ImprimerPlanningsPour = 1 Then         'Si l'option planning retard est choisie
              Me.ImprimeFicheClient2.Enabled = False  'la case à coché fiche client est grisée
        Else
              Me.ImprimeFicheClient2.Enabled = True   'Si l'option 2 planning visite est choisi elles sont accessibles
              'Me.ImprimeFicheClient.SetFocus
        End If
    
    End Sub
    Encore merci de votre aide.

    MArcopololo

  5. #5
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    J'en rajoute, mais j'ai avancé.

    Mon problème maintenant vient du fait que dès que je coche la case "FicheAImprimer" cela plante à la ligne en rouge

    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 Aperçu_Click()
        If CurrentProject.AllReports("Planning retard").IsLoaded Then
            DoCmd.Close acReport, "planning retard"
        End If
        If CurrentProject.AllReports("Planning visite").IsLoaded Then
            DoCmd.Close acReport, "planning visite"
        End If
        
        Select Case Me.ImprimerPlanningsPour  'Groupe d'options chois du planning
            Case 1
                DoCmd.OpenReport "Planning retard", acViewPreview   'Si l'option 1 est choisie elle ouvre l'état planning retard
            Case 2
                DoCmd.OpenReport "Planning visite", acViewPreview, "", "[Commercial]like '" & Nz(Me.SélectionCommercial, "*") & "'"   'Si l'option 2 est choisie elle ouvre le planning visite du commercial choisi
        End Select
        
              Select Case Me.FicheAImprimer  'groupe d'option case à cocher pour les fiches clients
                   Case 1
                        DoCmd.OpenReport "Infos par client pour planning", acViewPreview 'Si Case à cocher sélectionné alors impression fiches clients du planning
              End Select
    End Sub
    Sachant que mon état Infos par client fait appel à la même requète que planning visite. Si j'utilise une autre requète pour infos clients alors j'ai toutes les fiches clients qui s'affichent sans prendre en compte les dates de planning, mais là pas de bug.

    Marcopololo

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

Discussions similaires

  1. [AC-2010] bouton imprimer sur case a cocher
    Par jadmcazm dans le forum IHM
    Réponses: 2
    Dernier message: 28/07/2012, 14h05
  2. [AC-2003] Probleme case à cocher avec bouton "tout selectionner"
    Par Ardiden31 dans le forum VBA Access
    Réponses: 7
    Dernier message: 12/04/2012, 16h00
  3. [WD-2003] Case à cocher et Bouton d'option
    Par Xorbane dans le forum Word
    Réponses: 8
    Dernier message: 18/05/2010, 23h39
  4. Test de case a cocher sur bouton
    Par 12_darte_12 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/03/2007, 14h49
  5. Pb Bouton case a cocher
    Par sephirothmana dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 27/02/2007, 11h30

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