VBA - Double conditions avec Else

Résolu
Peter133 -  
 Pierre133 -
Bonjour,

Je suis tout nouveau en programmation VBA et je me demande comment ajouter une deuxième condition à mes lignes de code. Voici ma partie de Code :

' Identifier le Tier
If .Cells(lngLigne, mlngCOL_TI_CODEADHESION).Value = "NAPE" Then
strCleCodeTier = "SGDP"
Else
Select Case Mid$(strCodeAdhesion, 1, 1)
Case "3": strCleCodeTier = "SFHD"
Case "4": strCleCodeTier = "SFHD"
Case "P": strCleCodeTier = "FABD"
Case Else: strCleCodeTier = "N/A"
End Select
End If

J'aimerais donc insérer sous le premier If quelque chose qui ressemblerait à :

If .Cells(lngLigne, mlngCOL_TI_TRANSIT).Value = "993815" Then
strCleCodeTier = "SGDP"

À noter que le chiffre 993815 est noté en texte dans ma BD Excel.

Peut-être quelqu'un a déjà posé une question semblable je vous demande d'exsucer ma répétition si c'est le cas, mais je n'arrive pas a trouver réponse à ma question.

Merci à tous et Bonne journée!

Peter

7 réponses

  1. MadBen1 Messages postés 2 Statut Membre 1
     
    If .Cells(lngLigne, mlngCOL_TI_CODEADHESION).Value = "NAPE" Then
    . strCleCodeTier = "SGDP"
    Else
    .
    . If .Cells(lngLigne, mlngCOL_TI_TRANSIT).Value = "993815" Then
    . . strCleCodeTier = "SGDP"
    . Else
    . . Select Case Mid$(strCodeAdhesion, 1, 1)
    . . . Case "3": strCleCodeTier = "SFHD"
    . . . Case "4": strCleCodeTier = "SFHD"
    . . . Case "P": strCleCodeTier = "FABD"
    . . . Case Else: strCleCodeTier = "N/A"
    . . End Select
    . End If
    .
    End If

    J'ai utilisé des points pour relier les différentes parties du code, pour que tu comprennes la portée de chaque code.
    Fait moi le retour! Bne CHANCE!!!!!!!!!!!!!!
    1
    1. Pierre133
       
      Bonjour MadBen1!

      Merci beaucoup pour ta réponse c'est tout à fait ce que je cherchais comme solution.

      Passes une belle journée!

      P-A
      0
  2. moiced59 Messages postés 1161 Statut Membre 60
     
    bonjour

    Si j'ai bien compris tu cherche quelque chose com ca ?

    If .Cells(lngLigne, mlngCOL_TI_CODEADHESION).Value = "NAPE" Then
    If .Cells(lngLigne, mlngCOL_TI_TRANSIT).Value = "993815" Then
    strCleCodeTier = "SGDP"
    else
    strCleCodeTier = "SGDP"
    end if
    Else
    Select Case Mid$(strCodeAdhesion, 1, 1)
    Case "3": strCleCodeTier = "SFHD"
    Case "4": strCleCodeTier = "SFHD"
    Case "P": strCleCodeTier = "FABD"
    Case Else: strCleCodeTier = "N/A"
    End Select
    End If
    0
  3. Peter133
     
    Bonjour Moiced59 et merci de ta réponse rapide.

    En fait la condition que je veux ajouter après le premier If est :

    If .Cells(lngLigne, mlngCOL_TI_TRANSIT).Value = "993815" Then
    strCleCodeTier = "FABD"

    (Dsl j'écris "SGDP" dans mon premier message au lieu de "FABD")

    Donc un assigner code tier différent de la première condition.

    Est-ce que je peux substituer le 2e strCleCodeTier = "SGDP" par strCleCodeTier = "FABD" seulement?

    Merci encore!
    0
  4. moiced59 Messages postés 1161 Statut Membre 60
     
    plus com ca alors :

    If .Cells(lngLigne, mlngCOL_TI_CODEADHESION).Value = "NAPE" and Cells(lngLigne, mlngCOL_TI_TRANSIT).Value = "993815" Then

    strCleCodeTier = "SGDP"

    Else
    Select Case Mid$(strCodeAdhesion, 1, 1)
    Case "3": strCleCodeTier = "SFHD"
    Case "4": strCleCodeTier = "SFHD"
    Case "P": strCleCodeTier = "FABD"
    Case Else: strCleCodeTier = "N/A"
    End Select
    End If
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Peter133
     
    Rebonjour!

    En fait je pensais plustôt à quelque chose comme ceci :

    ' Identifier le Tier
    If .Cells(lngLigne, mlngCOL_TI_CODEADHESION).Value = "NAPE" Then
    strCleCodeTier = "SGDP"
    ElIf .Cells(lngLigne, mlngCOL_TI_TRANSITACTUEL).Value = "90993815" Then
    strCleCodeTier = "FABD"
    Else
    Select Case Mid$(strCodeAdhesion, 1, 1)
    Case "3": strCleCodeTier = "SFHD"
    Case "4": strCleCodeTier = "SFHD"
    Case "P": strCleCodeTier = "FABD"
    Case Else: strCleCodeTier = "N/A"
    End Select
    End If

    Mais ça ne semble pas fonctionner...

    Merci beaucoup!
    0
  7. MadBen1 Messages postés 2 Statut Membre 1
     
    If .Cells(lngLigne, mlngCOL_TI_CODEADHESION).Value = "NAPE" Then
    strCleCodeTier = "SGDP"
    Else
    Select Case Mid$(strCodeAdhesion, 1, 1)
    Case "3": strCleCodeTier = "SFHD"
    Case "4": strCleCodeTier = "SFHD"
    Case "P": strCleCodeTier = "FABD"
    Case Else: strCleCodeTier = "N/A"
    End Select
    End If
    0
  8. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Un IF mal placer..
        If .Cells(lngLigne, mlngCOL_TI_CODEADHESION).Value = "NAPE" Then
            If .Cells(lngLigne, mlngCOL_TI_TRANSIT).Value = "993815" Then
                strCleCodeTier = "SGDP"
            End If
        Else
            Select Case Mid$(strCodeAdhesion, 1, 1)
            Case "3": strCleCodeTier = "SFHD"
            Case "4": strCleCodeTier = "SFHD"
            Case "P": strCleCodeTier = "FABD"
            Case Else: strCleCodeTier = "N/A"
            End Select
        End If

    Ça correspond à ce que tu explique.
    A+
    0