Bonjour...
J´ai déja vu pas mal de solutions pour NB.Si! Mais malheureusement je ne
trouve pas ma solution..:((
J´ai sur ma feuille:
B1=12
A2=10
A3=15
A4=11
A5, vide B5=0
A6=-1
A7=8
A8,vide B8=0
A9=0
A10=-1
Ce que je cherche comme résultats:
C1=NB.SI(A2:A4;critére c´est <B1)=2
C5=NB.SI(A6:A7;critére c´est <B5)=1
C8=NB.SI(A9:A10;critére c´est <B8)=1
Il y a t-il une macro que me me fera ça automatiquement en m´écrivant
directement les résultats sur C1, C5 et C8???!!
"Isabelle" m´a ajoutée cette petite astuce mais qui ne marche pas quand il y
a des "zéros" sur les plages et sur les critères:
Sub Macro1()
Dim début As Range, fin As String, plg As String, critère As String
Set début = Range("A2")
For Each c In Range("A3:A" & Range("A65536").End(xlUp).Row + 1)
If c = Empty Then
fin = Range(c.Address).Offset(-1, 0).Address
plg = Range(début.Address & ":" & fin).Address
critère = "<" & Range("B" & début.Row - 1)
Range(début.Address).Offset(-1, 2).Formula = "=SUMPRODUCT((" & plg & critère
& ")*1)"
Set début = Range(c.Address).Offset(1, 0)
End If
Next
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. Essaie :
Sub test() Dim DerLigne As Long, Ctr As Integer DerLigne = Range("B65536").End(xlUp).Row Range("C1").Select Do While ActiveCell.Row <= DerLigne Ctr = 0 If ActiveCell.Offset(0, -1) <> "" Then i = 1 Do While ActiveCell.Offset(i, -2) <> "" If ActiveCell.Offset(i, -2) < ActiveCell.Offset(0, -1).Value Then Ctr = Ctr + 1 End If i = i + 1 Loop ActiveCell.Value = Ctr End If ActiveCell.Offset(1, 0).Select ReDim Tablo(0) Loop End Sub
Cordialement. Daniel "José Carapito" a écrit dans le message de news:
Bonjour... J´ai déja vu pas mal de solutions pour NB.Si! Mais malheureusement je ne trouve pas ma solution..:(( J´ai sur ma feuille: B1 A2 A3 A4 A5, vide B5=0 A6=-1 A7=8 A8,vide B8=0 A9=0 A10=-1 Ce que je cherche comme résultats: C1=NB.SI(A2:A4;critére c´est <B1)=2 C5=NB.SI(A6:A7;critére c´est <B5)=1 C8=NB.SI(A9:A10;critére c´est <B8)=1
Il y a t-il une macro que me me fera ça automatiquement en m´écrivant directement les résultats sur C1, C5 et C8???!!
"Isabelle" m´a ajoutée cette petite astuce mais qui ne marche pas quand il y a des "zéros" sur les plages et sur les critères:
Sub Macro1() Dim début As Range, fin As String, plg As String, critère As String Set début = Range("A2") For Each c In Range("A3:A" & Range("A65536").End(xlUp).Row + 1) If c = Empty Then fin = Range(c.Address).Offset(-1, 0).Address plg = Range(début.Address & ":" & fin).Address critère = "<" & Range("B" & début.Row - 1) Range(début.Address).Offset(-1, 2).Formula = "=SUMPRODUCT((" & plg & critère & ")*1)" Set début = Range(c.Address).Offset(1, 0) End If Next End Sub
Merci...et à plus!!
Bonjour.
Essaie :
Sub test()
Dim DerLigne As Long, Ctr As Integer
DerLigne = Range("B65536").End(xlUp).Row
Range("C1").Select
Do While ActiveCell.Row <= DerLigne
Ctr = 0
If ActiveCell.Offset(0, -1) <> "" Then
i = 1
Do While ActiveCell.Offset(i, -2) <> ""
If ActiveCell.Offset(i, -2) < ActiveCell.Offset(0, -1).Value
Then
Ctr = Ctr + 1
End If
i = i + 1
Loop
ActiveCell.Value = Ctr
End If
ActiveCell.Offset(1, 0).Select
ReDim Tablo(0)
Loop
End Sub
Cordialement.
Daniel
"José Carapito" <JosCarapito@discussions.microsoft.com> a écrit dans le
message de news: 19C7FCBE-7722-4F20-8C13-47A325DDF0AF@microsoft.com...
Bonjour...
J´ai déja vu pas mal de solutions pour NB.Si! Mais malheureusement je ne
trouve pas ma solution..:((
J´ai sur ma feuille:
B1
A2
A3
A4
A5, vide B5=0
A6=-1
A7=8
A8,vide B8=0
A9=0
A10=-1
Ce que je cherche comme résultats:
C1=NB.SI(A2:A4;critére c´est <B1)=2
C5=NB.SI(A6:A7;critére c´est <B5)=1
C8=NB.SI(A9:A10;critére c´est <B8)=1
Il y a t-il une macro que me me fera ça automatiquement en m´écrivant
directement les résultats sur C1, C5 et C8???!!
"Isabelle" m´a ajoutée cette petite astuce mais qui ne marche pas quand il
y
a des "zéros" sur les plages et sur les critères:
Sub Macro1()
Dim début As Range, fin As String, plg As String, critère As String
Set début = Range("A2")
For Each c In Range("A3:A" & Range("A65536").End(xlUp).Row + 1)
If c = Empty Then
fin = Range(c.Address).Offset(-1, 0).Address
plg = Range(début.Address & ":" & fin).Address
critère = "<" & Range("B" & début.Row - 1)
Range(début.Address).Offset(-1, 2).Formula = "=SUMPRODUCT((" & plg &
critère
& ")*1)"
Set début = Range(c.Address).Offset(1, 0)
End If
Next
End Sub
Sub test() Dim DerLigne As Long, Ctr As Integer DerLigne = Range("B65536").End(xlUp).Row Range("C1").Select Do While ActiveCell.Row <= DerLigne Ctr = 0 If ActiveCell.Offset(0, -1) <> "" Then i = 1 Do While ActiveCell.Offset(i, -2) <> "" If ActiveCell.Offset(i, -2) < ActiveCell.Offset(0, -1).Value Then Ctr = Ctr + 1 End If i = i + 1 Loop ActiveCell.Value = Ctr End If ActiveCell.Offset(1, 0).Select ReDim Tablo(0) Loop End Sub
Cordialement. Daniel "José Carapito" a écrit dans le message de news:
Bonjour... J´ai déja vu pas mal de solutions pour NB.Si! Mais malheureusement je ne trouve pas ma solution..:(( J´ai sur ma feuille: B1 A2 A3 A4 A5, vide B5=0 A6=-1 A7=8 A8,vide B8=0 A9=0 A10=-1 Ce que je cherche comme résultats: C1=NB.SI(A2:A4;critére c´est <B1)=2 C5=NB.SI(A6:A7;critére c´est <B5)=1 C8=NB.SI(A9:A10;critére c´est <B8)=1
Il y a t-il une macro que me me fera ça automatiquement en m´écrivant directement les résultats sur C1, C5 et C8???!!
"Isabelle" m´a ajoutée cette petite astuce mais qui ne marche pas quand il y a des "zéros" sur les plages et sur les critères:
Sub Macro1() Dim début As Range, fin As String, plg As String, critère As String Set début = Range("A2") For Each c In Range("A3:A" & Range("A65536").End(xlUp).Row + 1) If c = Empty Then fin = Range(c.Address).Offset(-1, 0).Address plg = Range(début.Address & ":" & fin).Address critère = "<" & Range("B" & début.Row - 1) Range(début.Address).Offset(-1, 2).Formula = "=SUMPRODUCT((" & plg & critère & ")*1)" Set début = Range(c.Address).Offset(1, 0) End If Next End Sub