Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Le grand écart

bobafric

XLDnaute Occasionnel
Bonjour à tous
Dans mon exemple, j'ai une colonne avec des nombres de 1 à 10. Je voudrais compter les écarts de chaque nombre de la première à la dernière ligne.
Comme on peut le voir dans mon exemple pour le N°1 le premier écart est 23 le deuxème 9 etc.
Cela est-il possible avec une macro ou autre.
merci d'avance pour votre aide
 

Pièces jointes

  • Les écarts.xlsx
    11.4 KB · Affichages: 10
Solution
Bonjour à tous ,

Grâce à la perspicacité de @sylvanu , la même chose mais avec une formule.

Recopier la formule saisie en C2 vers la droite et vers le bas jusqu'à obtenir des lignes "vides" :
VB:
=SIERREUR(PETITE.VALEUR(SI($A$3:$A$999=C$1;LIGNE($A$3:$A$999));LIGNE($A2))-PETITE.VALEUR(SI($A$3:$A$999=C$1;LIGNE($A$3:$A$999));LIGNE($A1));"")

nota 1 : la formule est matricielle. Elle doit être validée par la combinaison des trois touches Ctrl+Maj+Entrée (au lieu de la seule touche Entrée) sauf pour les dernières versions d'Excel pour lesquelles une validation ordinaire (touche Entrée) suffit.

nota 2 : si la première colonne comprend des valeurs après la cellule A999 alors dans la...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Bobafric, Job,
Un peu ( beaucoup ) au pif un essai en PJ avec :
VB:
Sub compter()
[G2:P1000].ClearContents
T = Range("A2:A" & [A1000].End(xlUp).Row)
For u = 1 To 10
    Ligne = 2: Colonne = u + 6: Ecart = 0
    For i = 1 To UBound(T)
        Ecart = Ecart + 1
        If T(i, 1) = u Then
            If Ligne > 2 Then Cells(Ligne, Colonne) = Ecart
            Ecart = 0
            Ligne = Ligne + 1
        End If
    Next i
Next u
End Sub
Mais les résultats semblent cohérent pour 1 mais pas pour 2.
 

Pièces jointes

  • Les écarts.xlsm
    18.9 KB · Affichages: 9

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous ,

Grâce à la perspicacité de @sylvanu , la même chose mais avec une formule.

Recopier la formule saisie en C2 vers la droite et vers le bas jusqu'à obtenir des lignes "vides" :
VB:
=SIERREUR(PETITE.VALEUR(SI($A$3:$A$999=C$1;LIGNE($A$3:$A$999));LIGNE($A2))-PETITE.VALEUR(SI($A$3:$A$999=C$1;LIGNE($A$3:$A$999));LIGNE($A1));"")

nota 1 : la formule est matricielle. Elle doit être validée par la combinaison des trois touches Ctrl+Maj+Entrée (au lieu de la seule touche Entrée) sauf pour les dernières versions d'Excel pour lesquelles une validation ordinaire (touche Entrée) suffit.

nota 2 : si la première colonne comprend des valeurs après la cellule A999 alors dans la formule augmentez cette valeur 999 (afin d'englober toutes les valeurs de cette colonne).
 

Pièces jointes

  • bobafric- écart apparition- v1.xlsx
    23.4 KB · Affichages: 8
Dernière édition:

Discussions similaires

Réponses
1
Affichages
318
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…