CountIf ordre decroissant
Bonjour laplacea, BrunoM45
J'ai écrit ce code là qui fonctionne en Filldown, est ce que tu serais le retranscrire en Fillup en modifiant le moins possible le code. Ce code là fonctionne sur mon Excel sous Windows ^^
.FormulaR1C1 = "=COUNTIF(R3C[3]:RC[4],RC[3])" 'ta formule en B3équivaut à:
=NB.SI(E$3:F3;E3)ET
.FormulaR1C1 = "=COUNTIF(R3C[2]:RC[3],RC[3])" 'ta formule en C3équivaut à
=NB.SI(E$3:F3;F3)Un essai à tout hasard.....
J'ai remplacé:
sh.Range("B3").FormulaR1C1 = "=COUNTIF(R3C[3]:RC[4],RC[3])" 'ta formule en B3
sh.Range("B3:B" & derlig).FillDown 'on tire la formule jusqu'à la dernière ligne
sh.Range("C3").FormulaR1C1 = "=COUNTIF(R3C[2]:RC[3],RC[3])" 'ta formule en C3
sh.Range("C3:C" & derlig).FillDown 'on tire la formule jusqu'à la dernière lignepar :
sh.Range("B" & DerLig).FormulaLocal = "=NB.SI(E$" & DerLig & ":F" & DerLig & ";E" & DerLig & ")"
sh.Range("B" & DerLig & ":B3").FillUp
sh.Range("C" & DerLig).FormulaLocal = "=NB.SI(E$" & DerLig & ":F" & DerLig & ";F" & DerLig & ")"
sh.Range("C" & DerLig & ":C3").FillUpCe qui donne:
Option Explicit
Sub Ibra()
Dim DerLig As Long
Dim sh As Worksheet
Application.ScreenUpdating = False
For Each sh In ActiveWindow.SelectedSheets
If sh.Name <> "Exemple" Then 'si le nom de la feuille selectionnŽe est diffŽrent de Exemple
sh.Activate
DerLig = sh.Range("D" & Rows.Count).End(xlUp).Row 'dernire ligne utilisŽe de la colonne D
sh.Columns("B:B").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove 'insert une colonne ˆ gauche de la colonne B
sh.Columns("C:C").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove 'insert une colonne ˆ gauche de la colonne C
sh.Range("B2") = "Serie H": sh.Range("B2").Interior.ColorIndex = 6 'titre et couleur colonne B
sh.Range("C2") = "Serie A": sh.Range("C2").Interior.ColorIndex = 6 'titre et couleur colonne C
sh.Range("B" & DerLig).FormulaLocal = "=NB.SI(E$" & DerLig & ":F" & DerLig & ";E" & DerLig & ")"
sh.Range("B" & DerLig & ":B3").FillUp
sh.Range("C" & DerLig).FormulaLocal = "=NB.SI(E$" & DerLig & ":F" & DerLig & ";F" & DerLig & ")"
sh.Range("C" & DerLig & ":C3").FillUp
sh.Columns("B:C").HorizontalAlignment = xlCenter 'centrer horizontalement sur colonnes B et C
End If 'fin de la condition
Next sh
Application.ScreenUpdating = True
End SubCordialement,
Hello à tous,
Je viens de comprendre le problème et ça marche parfaitement.
Mon problème sur mon excel windows est que la fonction NB.SI s'ecrit
NB.SI(Plage,Celulle) et non NB.SI(Plage;Cellule)
Excusez-moi de vous avoir fait utiliser autant de temps pour si peu mais comment est-ce que je peux modfier mes formules pour passer d'un séparateur "," à un séparateur ";"
Je vous remercie par avance de votre retour et merci @BrunoM45 pour ta patience.
Bon dimanche à tous.
Laplacea