Deux Conditions VBA pour deux resultas

Résolu
daliltim Messages postés 20 Statut Membre -  
daliltim Messages postés 20 Statut Membre -
Bonjour tout le monde:
j'aimerai que vous m'aidez, ma question est :
j'ai deux champs (NA_Numéro et Nom_Vendeur) , et voila mon code qui ne ca marche pas
If Me.NA_Numéro = "1" Or Me.NA_Numéro = "3" Or Me.NA_Numéro = "102" Or Me.NA_Numéro = "118" Or Me.NA_Numéro = "119" Or Me.NA_Numéro = "17" Or Me.NA_Numéro = "32" Or Me.NA_Numéro = "46" Or Not Not Not Me.NA_Numéro = "90" and me.nom_vendeur.value<> "ste*"Then
If MsgBox("Voulez-vous Payer la T.P.I.", vbQuestion + vbYesNo, "CONFIRMATION") = vbYes Then
   Me.TPI = "Demander"
   Me.TPI.Visible = True
   Else
   Me.TPI = ""
   Me.TPI.Visible = False
End If
End If
endsub


EDIT: Ajout de la coloration syntaxique.

3 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

            If (Me.NA_Numéro = "1" Or Me.NA_Numéro = "3" Or Me.NA_Numéro = "102" Or _
                Me.NA_Numéro = "118" Or Me.NA_Numéro = "119" Or Me.NA_Numéro = "17" Or _
                Me.NA_Numéro = "32" Or Me.NA_Numéro = "46" Or Not Me.NA_Numéro = "90") _
                And Not (Me.nom_vendeur.Value Like "ste*") Then
            If MsgBox("Voulez-vous Payer la T.P.I.", vbQuestion + vbYesNo, "CONFIRMATION") = vbYes Then
                Me.TPI = "Demander"
                Me.TPI.Visible = True
            Else
                Me.TPI = ""
                Me.TPI.Visible = False
            End If
        End If
    
    
    0
    1. daliltim Messages postés 20 Statut Membre
       
      Merci Infiniment ça marche bien
      0
  2. Thorak83 Messages postés 1140 Statut Membre 156
     
    Bonjour,

    Vous ne dite pas ce qui ne va pas mais déjà il manque de parenthèses dans votre premier IF et il y a 3 not qui se suivent ???

    If (Me.NA_Numéro = "1" Or Me.NA_Numéro = "3" Or Me.NA_Numéro = "102" Or Me.NA_Numéro = "118" Or Me.NA_Numéro = "119" Or Me.NA_Numéro = "17" Or Me.NA_Numéro = "32" Or Me.NA_Numéro = "46" Or Me.NA_Numéro = "90") and me.nom_vendeur.value<> "ste*" Then 


    Cordialement

    EDIT: Correction de la coloration syntaxique.
    0
    1. Thorak83 Messages postés 1140 Statut Membre 156
       
      je pense aussi que ceci ne marche pas
      and me.nom_vendeur.value<> "ste*" Then

      faire plutot
      and Left(me.nom_vendeur.value,3) <> "ste" then
      0
      1. daliltim Messages postés 20 Statut Membre > Thorak83 Messages postés 1140 Statut Membre
         
        merci Thorak83 mais la premier solution par f894009 ca marche bien pour moi
        0
  3. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonjour Dalitim, bonjour le forum,

    Peut-être comme ça (non testé) :

    Sub Macro1()
    If Not Me = "90" And Me.nom_vendeur.Value <> "ste*" Then GoTo suite
    Select Case Me.NA_NuméroMe
        Case "1", "3", "102", "118", "119", "17", "32", "46"
            GoTo suite
    End Select
    Exit Sub
    suite:
    If MsgBox("Voulez-vous Payer la T.P.I.", vbQuestion + vbYesNo, "CONFIRMATION") = vbYes Then
        Me.TPI = "Demander"
        Me.TPI.Visible = True
    Else
        Me.TPI = ""
        Me.TPI.Visible = False
    End If
    End Sub

    mais j'avoue que Not Not Not je ne connaissais pas...
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      avec votre style de programmation:
      Private Sub CommandButton1_Click()
          'If Not Me.NA_Numéro = "90" And left(Me.nom_vendeur.Value,3) <> "ste" Then
          'ou
          'If Me.NA_Numéro <> "90" And Left(Me.nom_vendeur.Value, 3) <> "ste" Then
          'ou
          If Not Me.NA_Numéro = "90" And Not (Me.nom_vendeur.Value Like "ste*") Then
              Select Case Me.NA_Numéro
                  Case "1", "3", "102", "118", "119", "17", "32", "46"
                      If MsgBox("Voulez-vous Payer la T.P.I.", vbQuestion + vbYesNo, "CONFIRMATION") = vbYes Then
                          Me.TPI = "Demander"
                          Me.TPI.Visible = True
                      Else
                          Me.TPI = ""
                          Me.TPI.Visible = False
                      End If
                  Case Else
              End Select
          End If
      End Sub
      0
    2. daliltim Messages postés 20 Statut Membre
       
      Merci infiniment not not not hhh c'est un oubli
      0