XL 2021 Formule compter les cellules vides lusqu'à la dernière ligne NON vide

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous 🙂

Compter les cellules vides, c'est bon :
en E1 :
=SI(NB.VIDE(G7:G20)+NB.VIDE(J7:M20)+NB.VIDE(R7:S20)>0;"vide "&NB.VIDE(G7:G20)+NB.VIDE(J7:M20)+NB.VIDE(R7:S20);"OK")

Je voudrais compter jusqu'à la dernière ligne NON vide.
Pourriez-vous m'aider ?
Grand merci 🙂

Je joins un petit fichier test.
Un grand merci à toutes et à tous 🙂
Et je continue mes recherches...
 

Pièces jointes

Dernière édition:
Bonjour Lionel,
Un essai en PJ avec :
Code:
Function Vides()
Dim T, DL, i, Plage, N
Application.Volatile
DL = [E100000].End(xlUp).Row
T = Array(7, 10, 11, 12, 13, 16, 18, 19)
For i = 0 To 7
    Set Plage = Range(Cells(7, T(i)), Cells(DL, T(i)))
    N = N + Application.CountIfs(Plage, "")
Next i
If N = 0 Then Vides = "" Else Vides = "Attention! " & N & " cellule(s) vide(s)."
End Function
 

Pièces jointes

Bonjour Lionel,
Un essai en PJ avec :
Code:
Function Vides()
Dim T, DL, i, Plage, N
Application.Volatile
DL = [E100000].End(xlUp).Row
T = Array(7, 10, 11, 12, 13, 16, 18, 19)
For i = 0 To 7
    Set Plage = Range(Cells(7, T(i)), Cells(DL, T(i)))
    N = N + Application.CountIfs(Plage, "")
Next i
If N = 0 Then Vides = "" Else Vides = "Attention! " & N & " cellule(s) vide(s)."
End Function
Bjr sylvanu 🙂
Je te remercie pour ta fonction.
C'est bon 🙂
 
Re-Bjr 🙂

Les 2 solutions sont bonnes et j'avance par étape.
Dernière étape si vous voulez bien encore m'aider :

Partant du principe qu'il ne pourra y avoir des cellules vides que sur la ligne en cours de traitement

Je voudrais que s'il y a 1 ou plusieurs cellules vides, qu'il ne puisse pas être possible de cliquer ailleurs que sur la ligne où les cellules sont vides,
Autrement dit : que tout soit bloqué sauf la ligne où sont les vides jusqu'à remplissage des cellules vide.

En cas, je remets le classeur tests qui a vos 2 solutions.

Encore merci 🙂
 

Pièces jointes

Re-Bjr 🙂
J'ai trouvé :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
Application.EnableEvents = True
If Not Intersect(R, Range("e6:s30000")) Is Nothing And R.Count = 1 Then
    If [e1] > 0 Then
    ActiveSheet.Cells(Rows.Count, "e").End(xlUp)(1).Select
    End If
End If
End Sub
Merci d'avoir été là 🙂
 
Bonjour à tous
Re-Bjr 🙂
J'ai trouvé :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
Application.EnableEvents = True
If Not Intersect(R, Range("e6:s30000")) Is Nothing And R.Count = 1 Then
    If [e1] > 0 Then
    ActiveSheet.Cells(Rows.Count, "e").End(xlUp)(1).Select
    End If
End If
End Sub
Merci d'avoir été là 🙂

Juste pour rire ; clique sur l'intersection entre les lignes et les colonnes

1707128511352.png

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
855
Retour