CountIf ordre decroissant

Bonjour laplacea, BrunoM45 , le forum,

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 ligne

par :

 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

Ce 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 'dernire 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 Sub

Cordialement,

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

Rechercher des sujets similaires à "countif ordre decroissant"