VBA - Double conditions avec Else
Résolu
Peter133
-
Pierre133 -
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
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
A voir également:
- VBA - Double conditions avec Else
- Double ecran - Guide
- Whatsapp double sim - Guide
- Double driver - Télécharger - Pilotes & Matériel
- Double appel - Guide
- Double boot - Guide
7 réponses
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!!!!!!!!!!!!!!
. 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!!!!!!!!!!!!!!
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
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
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!
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!
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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!
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!
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
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
Bonjour,
Un IF mal placer..
Ça correspond à ce que tu explique.
A+
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+
Merci beaucoup pour ta réponse c'est tout à fait ce que je cherchais comme solution.
Passes une belle journée!
P-A