pb avec un si

  • Initiateur de la discussion audrey
  • Date de début
A

audrey

Guest
bonjour le forum

j'ai un problème tout bête.

j'envoie une valeur en string dans la case B37. j'aimerais que si cette valeur est "inactif" la case prenne la valeur 2 si c'est "actif"la valeur 1 sinon la valeur 3.
le problème est que c'est tjs le sinon qui est pris en compte

If Sheets("saisie").Range("B37").Value = "inactif" Then
sheets("saisie").range(B37").value=2
Else
If Sheets("saisie").Range("B37").Value = "actif" Then
Sheets("saisie").Range("B37").Value = 1
Else
Sheets("saisie").Range("B37").Value = 3
End If
End If

merci d'avance
 
J

JOnCAs

Guest
Bonjour Audrey


Select Case LCase(Worksheets("saisie").Range("B37"))
Case "inactif"
Worksheets("saisie").Range("B37") = 2
Case "actif"
Worksheets("saisie").Range("B37") = 1
Case Else
Worksheets("saisie").Range("B37") = 3
End Select


Bi ++
 
S

sousou

Guest
Je voulais dire un problème de majucule ou de minuscule.
Utilise alors la fonction Lcase()

If Lcase(Sheets("saisie").Range("B37")).Value = "inactif" Then
sheets("saisie").range(B37").value=2
 
A

audrey

Guest
If LCase(Sheets("saisie").Range("B37")).Value = "inactif" Then
Sheets("saisie").Range("B37").Value = 2
Else
If LCase(Sheets("saisie").Range("B37")).Value = "actif" Then
Sheets("saisie").Range("B37").Value = 1
Else: Sheets("saisie").Range("B37").Value = 4
End If
End If
 
@

@Christophe@

Guest
Bonjour a tous

Audrey, Voila plusieur possibilité:

<b>Possibilité 1:</b>

Sub Audrey()
Select Case LCase(Trim(Sheets("saisie").Range("B37").Value))
Case Is = "inactif"
Sheets("saisie").Range("B37").Value = 2
Case Is = "actif"
Sheets("saisie").Range("B37").Value = 1
Case Else
Sheets("saisie").Range("B37").Value = 3
End Select
End Sub


<b>Possibilité 2:</b>

Dans ta feuille "Saisie" tu mets une macro evenementielle qui corrige ton entré en B37:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$37" Then Exit Sub
Target.Value = LCase(Trim(Target))
End Sub

Cela supprimera automatiquement les espaces et mettra le tous en minuscule:

Le reste de ton code sera le suivant alors:

Sub Audrey()
Select Case Sheets("saisie").Range("B37").Value
Case Is = "inactif"
Sheets("saisie").Range("B37").Value = 2
Case Is = "actif"
Sheets("saisie").Range("B37").Value = 1
Case Else
Sheets("saisie").Range("B37").Value = 3
End Select
End Sub


Voila

@Christophe@
 

Statistiques des forums

Discussions
312 169
Messages
2 085 918
Membres
103 038
dernier inscrit
Herve7