Fonctions identiques mais qui ne renvoient pas la même valeur
Bonjour, je souhaite utiliser 2 fonctions : la première renvoie un booléen qui me permet de savoir si une ligne contenant "Sous total Interimaires :" est présente dans un tableau ou non. La deuxième fait la même chose mais avec "Sous total Titulaires :". Problème : la première fonctionne mais pas l'autre.
Aperçu du tableau :
Première fonction (qui renvoie la bonne valeur) :
Public Function Tot_Int(Num_sem As Integer) As Boolean 'Renvoie un booléen qui traduit la présence ou non de la ligne "Sous total (int):"
Dim s As Integer
s = Lsem(Num_sem)
While Cells(s, 1) <> "Semaine " & Next_s(Num_sem)
If Cells(s, 7) = "Sous total Interimaires :" Then
Tot_Int = True
Else
Tot_Int = False
End If
s = s + 1
Wend
End FunctionDeuxième fonction :
Public Function Tot_Tit(Num_sem As Integer) As Boolean 'Renvoie un booléen qui traduit la présence ou non de la ligne "Sous total (Tit):"
Dim s As Integer
s = Lsem(Num_sem)
While Cells(s, 1) <> "Semaine " & Next_s(Num_sem)
If Cells(s, 7) = "Sous total Titulaires :" Then
Tot_Tit = True
Else
Tot_Tit = False
End If
s = s + 1
Wend
End Function(La fonction Next_s prend en argument un numéro de semaine et renvoie le numéro de la semaine suivante)
Des idées pour résoudre ce problème ? Merci d'avance.
Bonjour PeaWix
Perso je ne mettrais pas une égalité complète, mais je ne ferais plutôt qu'une fonction comme ceci
Public Function SousTotal(Num_sem As Integer, Quoi As String) As Boolean
Dim s As Integer
SousTotal = False ' Initialiser le sous total à FAUX
s = Lsem(Num_sem)
While Cells(s, 1) <> "Semaine " & Next_s(Num_sem)
If InStr(1, Cells(s, 7), Quoi, vbTextCompare) > 0 Then
SousTotal = True: Exit Function
End If
s = s + 1
Wend
End FunctionEn appelant la fonction
If SousTotal(14,"Titulaires") thenA+
Merci ça fonctionne ! Mais à quoi était dû le problème du coup ? C'était à cause de l'égalité ?
Re,
Oui, il suffit d'un espace en trop, d'une lettre en minuscule au lieu de majuscule, etc...
A+