Bonjour,
Tu as fusionné B:I, il te retourne donc le nombre de vides de ta plage fusionnée.
Soustrait celles en trop : 77
D'autre part tu ne peux utiliser SpecialCells() comme ça.
Il retourne une erreur s'il n'en trouve pas. Il faut fonctionner en 2 temps. Calculer la plage en traitant l'erreur, puis le calcul final.
Dim pl As Range
' ...
On Error Resume Next
Set pl = Range("B22:B32").SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If pl Is Nothing Then Me.TextCompteCaseVide = 0 Else Me.TextCompteCaseVide = pl.Count - 77
Bon, dans le cas présent tu peux te passer du contrôle d'erreur puisque tu n'auras jamais aucune cellule vide à cause (grâce ?) à la fusion.
Mais il fallait que tu le saches.
eric
Edit : unr tite fatigue Jean-Eric ?