XL 2021 Grand écart suite

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 !

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

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

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

Dernière édition:
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

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:
- 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
0
Affichages
529
Retour