Compter le nombre de cellules

alain.pierrephie

XLDnaute Nouveau
Bonjour à tous les férus de EXCEL,

J'aimerai que l'un d'entre vous se penche sur mon souci. Je cherche a faire compter par excel le nombre de cellules qui séparent 2 chiffres.

Je joints un fichier excel et les explications sont dedans.

Merci de tout coeur

Alain
 

Fichiers joints

chris

XLDnaute Barbatruc
Bonjour alain.pierrephie alias trader 33

Tu te dis pleinement satisfait de la solution donnée sur un autre forum puis tu viens poster ici...

Peux-tu plutôt expliquer ce qui en va pas dans la solution proposée afin qu'on ne réinvente pas ici la même solution ?
 

job75

XLDnaute Barbatruc
Bonjour alain.pierrephie, chris,

2 formules matricielles en N8 et O8 :
Code:
=PETITE.VALEUR(SI((D$1:D$10000>=D8)*(LIGNE(D$1:D$10000)>LIGNE());LIGNE(D$1:D$10000));1)-LIGNE()

=PETITE.VALEUR(SI((D$1:D$10000>=D8+11)*(LIGNE(D$1:D$10000)>LIGNE());LIGNE(D$1:D$10000));1)-LIGNE()
à valider par Ctrl+Maj+Entrée et copier (éventuellement) sur N36:O36.

Adapter le nombre 10000 à la hauteur maximum que peut atteindre le tableau.

Fichier joint.

A+
 

Fichiers joints

alain.pierrephie

XLDnaute Nouveau
Bonjour alain.pierrephie alias trader 33

Tu te dis pleinement satisfait de la solution donnée sur un autre forum puis tu viens poster ici...

Peux-tu plutôt expliquer ce qui en va pas dans la solution proposée afin qu'on ne réinvente pas ici la même solution ?
Oui effectivement dans un premier temps j'ai trouvé ça impécable mais quand j'ai voulu le mettre sur mon fichier et comme c'est du VBA (ça s'appelle comme ça je crois) j'ai vite déchanté car incapable de le retranscrire sans avoir des connaissances que je n'ai pas. Ma réponse te satisfait alias Chris ?
 

alain.pierrephie

XLDnaute Nouveau
Bonjour alain.pierrephie, chris,

2 formules matricielles en N8 et O8 :
Code:
=PETITE.VALEUR(SI((D$1:D$10000>=D8)*(LIGNE(D$1:D$10000)>LIGNE());LIGNE(D$1:D$10000));1)-LIGNE()

=PETITE.VALEUR(SI((D$1:D$10000>=D8+11)*(LIGNE(D$1:D$10000)>LIGNE());LIGNE(D$1:D$10000));1)-LIGNE()
à valider par Ctrl+Maj+Entrée et copier (éventuellement) sur N36:O36.

Adapter le nombre 10000 à la hauteur maximum que peut atteindre le tableau.

Fichier joint.

A+
Voilà JOB75 C'est exactement ce que je voulais une formule adéquat que je puisse incrémenter gentiment hors VBA qui me semblait chouette dans un premier temps mais qui me demandais d'autres connaissances. Je te remercie infiniment JOB de t'être penché sur mon souci sur lequel je galère depuis un bon moment et que d'autres forums n'ont pas réussit a me dépatouiller. Je vais en même temps pouvoir étudier cette formule magique. Bon dimanche et encore merci
 

job75

XLDnaute Barbatruc
Re,

Sur un grand tableau cette fonction VBA sera beaucoup plus rapide :
Code:
Function EcartMini(c As Range, Optional decal As Double)
Dim tablo, v As Double, i As Long
With c.Parent.UsedRange
    tablo = c.Resize(.Row + .Rows.Count - c.Row + 1) 'matrice, plus rapide, au moins 2 éléments
End With
v = c + decal
For i = 2 To UBound(tablo)
    If tablo(i, 1) >= v Then EcartMini = i - 1: Exit Function
Next
EcartMini = "" 'si aucune valeur trouvée
End Function
Le code doit impérativement être placé dans un module standard.

Les formules en colonnes N et O sont évidemment très simples.

Fichier .xlsm joint.

A+
 

Fichiers joints

alain.pierrephie

XLDnaute Nouveau
Re,

Sur un grand tableau cette fonction VBA sera beaucoup plus rapide :
Code:
Function EcartMini(c As Range, Optional decal As Double)
Dim tablo, v As Double, i As Long
With c.Parent.UsedRange
    tablo = c.Resize(.Row + .Rows.Count - c.Row + 1) 'matrice, plus rapide, au moins 2 éléments
End With
v = c + decal
For i = 2 To UBound(tablo)
    If tablo(i, 1) >= v Then EcartMini = i - 1: Exit Function
Next
EcartMini = "" 'si aucune valeur trouvée
End Function
Le code doit impérativement être placé dans un module standard.

Les formules en colonnes N et O sont évidemment très simples.

Fichier .xlsm joint.

A+
Magnifique le VBA mais je n'y connais absolument rien. J'ai installé ce que tu m'a fait pour les "ACHATS" par contre j'ai pas réussis a le mettre pour des "VENTES" en prenant appuis sur la colonne "E" et en faisant - 11 au lieu de +11. Si tu as une petite minute pourrais tu s'il te plait me donner la formule, ça fait une demie heure que je galère. Merci
 

Discussions similaires


Haut Bas