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 :

[A-03]Aide Code If sur groupe d'option


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    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
    Par défaut [A-03]Aide Code If sur groupe d'option
    Bonjour,

    Situation : un groupe d'option nommé quickseak avec 2 valeurs 1 et 2
    un texte indépendant pour saisie de valeur type numérque
    un bouton ok pour valider.

    Objectif :
    - si aucune des cases n'est sélectionnée, je veux un msgbox pour la situation
    - si 1 case est sélectionnée mais aucune valeur entrée dans la zone de texte indépendante, un autre msgbox de circonstance
    - si aucune case n'est sélectonnée mais que la zone de texte est remplie, le msg box du premier cas de figure.

    Mon problème:
    Voici mon code au départ, et pour lequel je m'emmêle les pinceaux car je n'arrive plus à jouer avec les IF sans alourdir le 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
    Private Sub Commande62_Click()
     
    If Me.quickseak.Value = 1 Then
        Form_HOME.ACTUALISATION.Visible = True
        Form_HOME.ACTUALISATION.SetFocus
        Form_HOME.MENU.Visible = False
        Dim rec As Recordset
        Set rec = Form_HOME.ACTU.Form.Recordset
        rec.FindFirst ("Réfdossier =" & Me.Texte63.Value)
        Set rec = Nothing
    Else
    MsgBox "Veuillez sélectionner un critère de recherche", vbInformation + vbOKOnly, "AVERTISSEMENT"
     
    If Me.quickseak.Value = 2 Then
        Form_HOME.ACTUALISATION.Visible = True
        Form_HOME.ACTUALISATION.SetFocus
        Form_HOME.MENU.Visible = False
        Set rec = Form_HOME.ACTU.Form.Recordset
        rec.FindFirst ("Réfmandat =" & Me.Texte63.Value)
        Set rec = Nothing
    Else
    MsgBox "Veuillez sélectionner un critère de recherche", vbInformation + vbOKOnly, "AVERTISSEMENT"
     
    If Me.Texte63.Value = "" Then
    MsgBox "Veuillez entrer une référence.", vbInformation + vbOKOnly, "AVERTISSEMENT"
     
    End If
    End If
    End If
    End Sub
    Quelqu'un peut m'aider à démêler mon nœud ?

    Merci par avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Par défaut
    rapide mais simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if Me.quickseak.Value <1 then
        msgbox "objectif 1 et 3"
    else
          if isnull(me.Texte63.value)=true then
            msgbox "objectif n°2"
          endif
    endif
    pour ce qui est du textbox, il vaut mieux le renommer car quand tu en aura 20 sur le même formulaire, ca sera pas simple à gérer

  3. #3
    Membre éclairé
    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
    Par défaut
    merci amigo, je vais tester de suite.
    C'est la syntaxe qui me fait défaut. Je ne savais pas que je pouvais utliser < ou >. je savais pour <>...

    Bref je te dis ça de suite.

  4. #4
    Membre éclairé
    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
    Par défaut
    Voici ce que j'ai :
    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
    If Me.quickseak.Value < 1 Then
    MsgBox "Veuillez sélectionner un critère de recherche", vbInformation + vbOKOnly, "AVERTISSEMENT"
    Else
    If IsNull(Me.Texte63.Value) = True Then
    MsgBox "Veuillez entrer une référence.", vbInformation + vbOKOnly, "AVERTISSEMENT"
    Else
    If Me.quickseak.Value = 1 Then
        Form_HOME.ACTUALISATION.Visible = True
        Form_HOME.ACTUALISATION.SetFocus
        Form_HOME.MENU.Visible = False
        Dim rec As Recordset
        Set rec = Form_HOME.ACTU.Form.Recordset
        rec.FindFirst ("Réfdossier =" & Me.Texte63.Value)
        Set rec = Nothing
     
    If Me.quickseak.Value = 2 Then
        Form_HOME.ACTUALISATION.Visible = True
        Form_HOME.ACTUALISATION.SetFocus
        Form_HOME.MENU.Visible = False
        Set rec = Form_HOME.ACTU.Form.Recordset
        rec.FindFirst ("Réfmandat =" & Me.Texte63.Value)
        Set rec = Nothing
     
    End If
    End If
    End If
    End If
    End Sub
    ça fonctionne, sauf que j'ai le msgbox du 2ème obj qui s'affiche quand bien même aucune option n'a été cochée, mais ça je vais m'en dépatouiller je pense.
    Il y a t-il un moyen d'alléger ce code ?

    Quel code dois-je mettre si la valeur entrée ne correspond (erronée ou introuvable) à aucun enregistrement (j'y mettrai un msgbox d'ailleurs) ?

  5. #5
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 131
    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
    Dim rec As Recordset
    If Me.quickseak.Value < 1 Then
        MsgBox "Veuillez sélectionner un critère de recherche", vbInformation + vbOKOnly, "AVERTISSEMENT"
    Else
        If IsNull(Me.Texte63.Value) = True Then
            MsgBox "Veuillez entrer une référence.", vbInformation + vbOKOnly, "AVERTISSEMENT"
        Else
            Form_HOME.ACTUALISATION.Visible = True
            Form_HOME.ACTUALISATION.SetFocus
            Form_HOME.Menu.Visible = False
            Set rec = Form_HOME.ACTU.Form.Recordset
     
            If Me.quickseak.Value = 1 Then
                rec.FindFirst ("Réfdossier =" & Me.Texte63.Value)
            ElseIf Me.quickseak.Value = 2 Then
                rec.FindFirst ("Réfmandat =" & Me.Texte63.Value)
            End If
            Set rec = Nothing
        End If
    End If
    End Sub

  6. #6
    Membre éclairé
    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
    Par défaut
    Merci pour ton intervention.
    C'est plus allégé effectivement...
    Mais ça ne règle pas le problème de valeur erronée ou inexistante.
    Quand je saisie une valeur je suis par défaut balancée sur le premier enregistrement. Comment faire ?

Discussions similaires

  1. Aide requise sur "du code java"? (sur la documentation)
    Par corseb-delete dans le forum Général Java
    Réponses: 2
    Dernier message: 07/04/2008, 11h51
  2. If then sur groupe d'option.
    Par Nessie37 dans le forum VBA Access
    Réponses: 4
    Dernier message: 08/11/2007, 18h22
  3. Demande d'aide pour un problème de code source sur devC++
    Par Rickantonais dans le forum Débuter
    Réponses: 28
    Dernier message: 01/08/2007, 14h09
  4. Aide sur Group by , sum et count
    Par rippoz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/06/2007, 14h48
  5. [Access 2000] Evénement click sur groupe d'option
    Par Mariboo dans le forum Access
    Réponses: 1
    Dernier message: 22/09/2006, 14h52

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