VBA - Double conditions avec Else

Résolu/Fermé
Peter133 - 12 déc. 2011 à 19:34
 Pierre133 - 14 déc. 2011 à 17:53
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
A voir également:

7 réponses

MadBen1 Messages postés 2 Date d'inscription mardi 13 décembre 2011 Statut Membre Dernière intervention 13 décembre 2011 1
Modifié par MadBen1 le 13/12/2011 à 16:52
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
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
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
12 déc. 2011 à 20:22
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
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
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
12 déc. 2011 à 21:08
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

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!
0
MadBen1 Messages postés 2 Date d'inscription mardi 13 décembre 2011 Statut Membre Dernière intervention 13 décembre 2011 1
13 déc. 2011 à 16:40
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
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
13 déc. 2011 à 17:25
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