Bonsoir Pierre, bonsoir le forum,
J'aurais codé comme ça :
Option Explicit
Private V As Variant
Private NB As Integer
Private I As Integer
Private O As Worksheet
Sub NbreCellules()
Set O = ActiveSheet
NB = 0
V = Application.InputBox("Nombres entre lesquels compter les vides :", "Nombre unique", 0, Type:=1)
If V = False Then Exit Sub
O.Range("B2:B" & O.Range("A" & Rows.Count).End(xlUp).Row).ClearContents
For I = 3 To O.Range("A" & Rows.Count).End(xlUp).Row
If O.Range("A" & I) = "" Then
NB = NB + 1
ElseIf O.Range("A" & I) = Val(V) Then
O.Range("B" & I) = NB
NB = 0
End If
Next I
End Sub
Affecte la procédure ci-dessous au bouton 1 :
Sub trois()
Dim J As Byte
V = InputBox("Nombres entre lesquels compter les vides :", "Nombre unique", 0)
If V = False Then Exit Sub
For J = 2 To 4
NB = 0
Set O = Worksheets(J)
O.Range("B2:B" & O.Range("A" & Rows.Count).End(xlUp).Row).ClearContents
For I = 3 To O.Range("A" & Rows.Count).End(xlUp).Row
If O.Range("A" & I) = "" Then
NB = NB + 1
ElseIf O.Range("A" & I) = Val(V) Then
O.Range("B" & I) = NB
NB = 0
End If
Next I
Next J
End Sub