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

XL 2021 Grand écart suite

bobafric

XLDnaute Occasionnel
Salut, suite à mon premier essai résolu, j'ai ajouté une difficulté.
Dans la colonne A les dates et les col B C D les valeurs3.
Comment calculer les écarts des nombres lorsqu'ils sont sont plusieurs colonnes. J'espère que mon fichier exemple sera plus explicite.
Merci d'avance pour vos efforts.
 

Pièces jointes

  • Les écarts suite.xlsx
    15.3 KB · Affichages: 8

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Baboafric,
En attendant la formule magique de MaPomme, je récidive avec ma macro bidouillée :
VB:
Sub compter()
[F2:P10000].ClearContents
Application.ScreenUpdating = False
T = Range("B3:D" & [A1000].End(xlUp).Row)
For u = 1 To 10
    Ligne = 2: Colonne = u + 5: Ecart = 0
    For i = 1 To UBound(T)
        Ecart = Ecart + 1
        If T(i, 1) = u Or T(i, 2) = u Or T(i, 3) = u Then
            If Ligne > 2 Then Cells(Ligne, Colonne) = Ecart
            Ecart = 0
            Ligne = Ligne + 1
        End If
    Next i
Next u
End Sub
 

Pièces jointes

  • Les écarts suite.xlsm
    34.9 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
En PJ ça marche quelque soient le nombre de lignes et de colonnes. ( la PJ a 2500 lignes et 8 colonnes ) Le résultat est en Feuil2.
Par contre le temps est évidemment de plus en plus long.
A tester.

NB: Par contre la prochaine fois fournissez directement les bonnes hypothèses, car là on a eu 1 colonne 200 lignes, puis 3 colonnes, puis 2500 lignes de 7 colonnes. Donc à chaque fois on refait le travail.
 

Pièces jointes

  • Les écarts suite V2.xlsm
    162 KB · Affichages: 1
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @bobafric , @sylvanu ,

Avec des formules. On utilise une colonne auxiliaire pour concaténer chaque ligne. C'est la formule en J3 à recopier vers le bas (peut-être avec validation matricielle suivant la version d'Excel) :
VB:
=CONCAT("-"&B3:F3&"-")

Ensuite en K3, une formule à recopier vers le bas (peut-être avec validation matricielle suivant la version d'Excel) :
VB:
=SIERREUR(PETITE.VALEUR(SI(ESTNUM(TROUVE("-"&K$1&"-";$J$3:$J$999));LIGNE($J$3:$J$999);"");LIGNES(A$1:A2))-PETITE.VALEUR(SI(ESTNUM(TROUVE("-"&K$1&"-";$J$3:$J$999));LIGNE($J$3:$J$999);"");LIGNES(A$1:A1));"")
 

Pièces jointes

  • bobafric- écart apparition- v2.xlsx
    222.7 KB · Affichages: 2

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @sylvanu ,

Une approche par formule sera à reprendre à chaque évolution.
C'est plus lourd qu'une macro auto adaptative.
Je le sais hélas mais la solution avec macro était déjà accaparée par un triste individu sylvicole voire arboricole (dont je tairai le nom) . Peut-être qu'avec O365 il y aurait une solution dynamique plus élégante mais je n'ai pas cherché.
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…