XL 2016 Compter Le Nbre des Zéros Consecutifs à Condition > 9

Foufoudora

XLDnaute Occasionnel
Bonjour
Je cherche à compter le nombre des zéros consécutifs quand le nombre est supérieur à 9.
Si le nombre est Inférieur à 9 de rien faire.
Il faut que les Zéros soient consécutifs pour faire le calcul.
Voir fichier ci-joint.
Merci pour votre aide
Cordialement
 

Pièces jointes

  • Nombre de Zéro.xlsx
    8.8 KB · Affichages: 53

job75

XLDnaute Barbatruc
Bonjour à tous,
En faite, pour la fonction VBA et la formule matricielle, je dois avoir un résultat = 10
Vous n'êtes guère cohérent Foufoudora car dans le fichier du post #1 vous indiquez comme résultat 15, c'est à dire le nombre de 1.

Maintenant si vous voulez afficher le nombre maximum de zéros consécutifs je vais revoir la question.

Par VBA c'est bien sûr très facile mais par formule Excel ce sera une formule très lourde !!!

A+
 

Foufoudora

XLDnaute Occasionnel
Bonjour Le Fil et le Forum
D'abord je tiens à présenter mes excuses pour le manque des explications et l'incohérence des souhaits.
Mais c'est en essayant d'appliquer et utiliser le fichier au fur et à mesure que les besoins et la perfection se dessinent.
Toute proposition VBA ou autre sera la bienvenue.
Encore désolé.
Bien Cordialement
 

CISCO

XLDnaute Barbatruc
Rebonjour à tous, bonjour Job75, boo2bafoot, Mapomme, Calvus

Pour différencier les cellules vides des cellules contenant un zéro, j'ai mis le test SI(""&B5:AF5="0" au lieu de SI(B5:AF5=0. Il m'a aussi fallu rajouter un ou deux autres tests pour prendre en compte d'autres cas particuliers (0 dans la première cellule, 0 seul après et avant un 1...). Cf. en pièce jointe.

@ plus

P.S : La formule dans la colonne AI est de la forme ((MAX(...)+1)>9)*(AF$4- (MAX(...)+1)). Donc toute la partie MAX(...)+1 est répétée deux fois à l'identique, ce qui fait que la formule est longue.
 

Pièces jointes

  • Nombre de Zérobis.xlsx
    15.6 KB · Affichages: 34
Dernière édition:

job75

XLDnaute Barbatruc
Re,

Donc voyez ce fichier (2) pour afficher le nombre maximum de zéros consécutifs (au lieu du nombre de 1).

Solution VBA

La fonction est modifiée :
Code:
Function MaxZerosConsecutifs(r As Range, nref%)
Dim n%, a(1 To 3)
For Each r In r
  If CStr(r) = "0" Then
    n = n + 1
    If n > a(1) Then a(1) = n: a(3) = r.Column 'a(3) dernière colonne des 0
  Else
    n = 0
  End If
Next
a(2) = a(3) - a(1) + 1 '1ère colonne des 0
If a(1) > nref Then MaxZerosConsecutifs = a Else MaxZerosConsecutifs = ""
End Function
Elle renvoie maintenant une matrice (vecteur ligne) ce qui permet de l'utiliser dans la MFC sur B5:AF6.

Solution par formule Excel

J'ai défini le nom maxi (B11 étant sélectionnée) par :
Code:
=MAX(SI(NON(NB.SI(DECALER(B11;;COLONNE(B11:AF11)-2;;TRANSPOSE(COLONNE(B11:AF11)-1));"<>0"));NB.SI(DECALER(B11;;COLONNE(B11:AF11)-2;;TRANSPOSE(COLONNE(B11:AF11)-1));"0")))
Avec cette solution il est impératif qu'il y ait au moins 30 colonnes vides (masquées) à droite du tableau.

Le calcul de la formule en B11 prend beaucoup de temps : 24 fois plus que le calcul en B5.

A+
 

Pièces jointes

  • MaxZerosConsecutifs Durée du calcul(2).xlsm
    26.2 KB · Affichages: 36

pierrejean

XLDnaute Barbatruc
Bonjour à tous

Un essai avec une fonction personnalisée pour le décompte des 0 successifs
A partir du fichier d'origine et sans avoir suivi les divers posts
La formule est adaptable pour >9 ou >10 ou écrire le max de 0
 

Pièces jointes

  • Nombre de Zéro.xlsm
    14.8 KB · Affichages: 41

CISCO

XLDnaute Barbatruc
Bonjour à tous

Et en modifiant ma première proposition (post #8) avec le même type d'astuce (faire des tests par rapport au texte "0", et plus par rapport au nombre 0)... cela semble aussi fonctionner.

@ plus
 

Pièces jointes

  • Nombre de Zéro.xlsx
    15 KB · Affichages: 41

CISCO

XLDnaute Barbatruc
Bonsoir à tous

@ Foufoudora : A qui s'adresse ton dernier message ? J'ai essayé en mettant 2 fois 9 zéros consécutifs sur la première ligne de mes deux dernières propositions, et cela ne semble pas poser de problème.

@ plus
 

Pièces jointes

  • Nombre de Zéroter.xlsx
    15.8 KB · Affichages: 41
  • Nombre de Zéro.xlsx
    15.2 KB · Affichages: 40

Foufoudora

XLDnaute Occasionnel
Bonsoir Cisco et le Fil
J'ai essayé tes deux fichiers et pareil le resultat est erroné. je te joint les deux.
A votre avis la version d'excel peut interferer. je travaille sur 2010 et 2016.
@+
 

Pièces jointes

  • Nombre de Zero.xlsx
    15.8 KB · Affichages: 36
  • Nombre de Zeroter.xlsx
    16.5 KB · Affichages: 39

Foufoudora

XLDnaute Occasionnel
Bonjour Job75 et le fil
Idem que cisco. je vous joint le dernier fichier.
Nombre de zeros = 21 (1 serie de 11 et une de 10) il me donne 11 (premier paragraphe 1ère ligne)
idem pour le 2ème paragraphe.
@+
Cordialement
 

Pièces jointes

  • MaxZerosConsecutifs Job75.xlsm
    22.6 KB · Affichages: 36

CISCO

XLDnaute Barbatruc
Bonsoir

Sur la première ligne, il ni a pas 24 zéros consécutifs mais 14 au max (il y a un 1 en dessous du 21, colonne U). D'ailleurs, sur cette ligne, il y a 25 zéros, et pas 24. Alors soit tu as besoin de changer de lunettes :), soit tu n'as pas bien défini ton besoin, soit nous n'avons pas compris... Pourrais-tu m'indiquer l'adresse de ton opticien ?

Cf. en pièce jointe une autre possibilité donnant le nombre de 0 de la ligne s'il y en a plus de 9 consécutifs. La formule est plus simple que dans l'ancienne version !

@ plus
 

Pièces jointes

  • Nouvelle version Nombre de Zeroter.xlsx
    15.8 KB · Affichages: 37
Dernière édition:

Foufoudora

XLDnaute Occasionnel
Bonjour Pierrejean
un plaisir pour moi de venir m'aider aussi sur ce fil.
j'utilise encore un de vos fichiers que vous m'avez aidé à le conceptionner il y une dizaine d'année.
Concernant ton fichier : Nombre de Zéro sur la 1ère ligne = 24 Le resultat donné est 17
Resultat attendu = 31 - 24 = 7
Cordialement
 

Pièces jointes

  • Nombre de Zéro Pierrejean.xlsm
    15 KB · Affichages: 35
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 915
Membres
101 837
dernier inscrit
Ugo