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

Macros et VBA Excel Discussion :

insérer un AND dans un IF


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Par défaut insérer un AND dans un IF
    Bonjour,

    je souhaiterai savoir la marche à suivre pour insérer une double condition sous IF. Alors je ne sais pas si je dois passer par un AND ou imbriquer un autre IF.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Private Sub CommandButton1_Click()
     
     
    If TextBox1.Value <> "" And TextBox2.Value <> "" Then
        Worksheets("BM").Range("E1") = TextBox1.Value
        Worksheets("Coef Vente").Range("C3") = TextBox2.Value
     
        If OptionButton1 = True Then
            Worksheets("BM").Range("E8") = "Logements -"
            Infos.Hide
            lgt.Show
        Else
            If OptionButton2 = True Then
                Worksheets("BM").Range("E8") = "Bureaux -"
                Infos.Hide
                bureaux.Show
            Else
                If OptionButton3 = True Then
                    Worksheets("BM").Range("E8") = "Santé -"
                    Infos.Hide
                    sante.Show
                Else
                    If OptionButton4 = True Then
                        Worksheets("BM").Range("E8") = "Crèche -"
                        Infos.Hide
                        crèche.Show
                    End If
                End If
            End If
        End If
    Else
        MsgBox "il manque des informations"
    End If
     
     
    End Sub
    je souhaiterai pouvoir faire ceci:

    afficher du texte en fonction des combinaisons:

    OptionButton1 = true et OptionButton5 = true
    OptionButton1 = true et OptionButton6 = true

    OptionButton2 = true et OptionButton5 = true
    OptionButton2 = true et OptionButton6 = true

    etc...

    mais seul la valeur de OptionButton1, OptionButton2, OptionButton3, OptionButton4 influence le userform qui doit s'afficher ensuite.

    merci

    jb

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    OptionButton1 = true et OptionButton5 = true
    OptionButton1 = true et OptionButton6 = true

    OptionButton2 = true et OptionButton5 = true
    OptionButton2 = true et OptionButton6 = true
    Bonjour,

    Explique donc comment sont "disposés" tes optionbuttons car, à moins qu'ils ne soient dans des groupes distincts, un seul d'entre eux peut être "coché" à la fois...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Par défaut
    alors OptionButton1, OptionButton2, OptionButton3, OptionButton4 sont associés donc une seul peut être coché,
    et OptionButton5, OptionButton6 sont associés.

    Donc au final on peut choisir un des 4 premiers et soit le 5 ou le 6

    alors j'ai trouver une solution mais elle est très longue en 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 CommandButton1_Click()
     
     
    If TextBox1.Value <> "" And TextBox2.Value <> "" Then
        Worksheets("BM").Range("E1") = TextBox1.Value
        Worksheets("Coef Vente").Range("C3") = TextBox2.Value
     
        If OptionButton1 = True And OptionButton5 = True Then
            Worksheets("BM").Range("E8") = "Logements -"
            Worksheets("BM").Range("F8") = "Neufs"
            Infos.Hide
            lgt.Show
        Else
            If OptionButton1 = True And OptionButton6 = True Then
                Worksheets("BM").Range("E8") = "Logements -"
                Worksheets("BM").Range("F8") = "Réhabilitation"
                Infos.Hide
                lgt.Show
            Else
                If OptionButton2 = True And OptionButton5 = True Then
                    Worksheets("BM").Range("E8") = "Bureaux -"
                    Worksheets("BM").Range("F8") = "Neufs"
                    Infos.Hide
                    bureaux.Show
                Else
                    If OptionButton2 = True And OptionButton6 = True Then
                        Worksheets("BM").Range("E8") = "Bureaux -"
                        Worksheets("BM").Range("F8") = "Réhabilitation"
                        Infos.Hide
                        bureaux.Show
                    Else
                        If OptionButton3 = True And OptionButton5 = True Then
                            Worksheets("BM").Range("E8") = "Santé -"
                            Worksheets("BM").Range("F8") = "Neufs"
                            Infos.Hide
                            sante.Show
                        Else
                            If OptionButton3 = True And OptionButton6 = True Then
                                Worksheets("BM").Range("E8") = "Santé -"
                                Worksheets("BM").Range("F8") = "Réhabilitation"
                                Infos.Hide
                                sante.Show
                            Else '...etc'
    n'y a-t-il pas une solution plus rapide

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Ma manière de te répondre et de te guider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim toto As Boolean, titi As Boolean
     toto = True
     titi = True
     MsgBox toto And titi
      toto = False
     titi = True
     MsgBox toto And titi
       toto = False
     titi = False
     MsgBox toto And titi
    Que toto et titi soient des variables booléennes ou des Values de boutons d'option, le principe est rigoureusement le même en ce qui concerne l'utilisation de AND
    A toi d'en faire bon usage.

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

Discussions similaires

  1. [CR8.5] Ne peut pas insérer de carte dans un rapport
    Par liberio dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 14/06/2004, 22h07
  2. Insérer un fichier dans une page web
    Par Mad666 dans le forum ASP
    Réponses: 6
    Dernier message: 05/05/2004, 11h22
  3. insérer une date dans une table mssql
    Par ericmart dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/01/2004, 10h37
  4. insérer des images dans une bd postgresql
    Par ephet dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 20/01/2004, 09h18
  5. [Crystal Reports 9] comment insérer une image dans Détails
    Par VVE dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/10/2003, 17h06

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