Compter pour chaque ligne la répétition d’1 nombre

Bonjour,

Ce n'est pas faute de ne pas essayer, c'est à croire que pour le moment c'est le flou total.

Je suis arrivé à résoudre une grande partie, souvent en cherchant sur le forum.

Il me reste toutefois une toute dernière chose et là je vous avoue que je bloque, d'où ma demande d'aide.

Je souhaite (avec code vba S.V.P) compter pour chaque ligne, à commencer par la ligne 2 jusqu’à la ligne 17, et en partant de la colonne "T" jusqu'à la colonne "AB", le nombre de fois que je trouve la valeur 90 ou supérieur.

Les valeurs trouvées seront placées dans la colonne "AC" à partir de la cellule "AC2".

Juste pour information, la colonne "AC" ainsi que la ligne 17 varient selon les données récoltées du tableau ("C2:P64").

Dans le fichier joint, vous trouverez une image du résultat final.

Merci de vos contributions.

Salut Harzer,

une façon de faire qui fonctionnera pour autant que la colonne [S:S] soit préalablement complétée avec le nom des participants.

Tu dis que [AC] peut évoluer... C'est-à-dire? Plus de cotations avec résultat non pas en [AC] mais peut-être en [AD]...[AZ]?

Dans ce cas, il faut revoir le code...

Private Sub Worksheet_Change(ByVal Target As Range)
'
iRow = Range("S" & Rows.Count).End(xlUp).Row
If Not Intersect(Target, Range("T2:AB" & iRow)) Is Nothing Then
    iRowT = Target.Row
    Range("AC" & iRowT).FormulaLocal = "=nb.si(T" & iRowT & ":AB" & iRowT & "; "">"" & 89)"
End If
'
End Sub

A+

Bonjour curulis57,

Merci pour votre réponse.

En effet, je me suis mal exprimé.

lorsque je dis que la colonne AC peut évoluer, c’est dans le cas qu’un participant (celui qui a présenté autant de sujets que le nombre de colonnes qui reçoivent les cotations) présente un sujet supplémentaire, dans ce cas, la colonne "AC" reçoit la cotation supplémentaire, les totaux seront placées dans la colonne suivante :"AD"

Au fait le nombre de colonnes qui reçoivent les cotations est égal au nombre le plus élevé de tous les sujets présenté par un participant. Le code que j’ai mis dans ma pièce jointe le fait déjà.

Je pense qu’avec un double boucle (en vba) sur les lignes et les colonnes, il y’a moyen de résoudre ce problème.

Il faut aller dans ce sens car il arrive que la feuille "Feuil1" est parfois supprimée par le code est créée au besoin.

Je continue de mon coté à trouver une solution, mais vue mes connaissances en vba, je suis convaincu que la solution tombera plus vite de votre coté que de la mienne.

Bien à vous.

Merci de votre patience.

Salut Harzer,

je n'avais pas fait attention mais le boulot était déjà réalisé, en fait!

J'ai juste ajouté ou rectifié quelques lignes. Est-ce bien cela que tu cherchais à faire?

Dim DerCol As Integer

Dim DerLigne As Integer

DerCol = Cells(1, Columns.Count).End(xlToLeft).Column

sCol1 = Split(Columns(DerCol).Address(ColumnAbsolute:=False), ":")(1)

sCol2 = Split(Columns(DerCol + 1).Address(ColumnAbsolute:=False), ":")(1)

DerLigne = Range("S65536").End(xlUp).Row

Range("IV1").End(xlToLeft)(1, 2) = "90 et +"

''on calcul le nombre de cellule >= à 90 et on les colore

Dim plage As Range

Dim cel

Dim cpt As Integer

Set plage = Worksheets(1).Range("T2:" & sCol1 & DerLigne)

For Each cel In plage

If cel.Value >= 90 Then

cpt = cpt + 1

cel.Interior.Color = RGB(204, 255, 51) 'colorer cellules dont la valeur est supérieure ou égale à 90

End If

Next cel

Range(sCol2 & 2).FormulaLocal = "=nb.si(T2:" & sCol1 & "2; "">"" & 89)"

Range(sCol2 & 2).AutoFill Destination:=Range(sCol2 & "2:" & sCol2 & DerLigne), Type:=xlFillDefault

A+

Bonjour curulis57,

Merci pour votre réponse.

C'est exactement la solution que j'attendais.

Grand MERCI pour votre aide précieuse.

Cordiale poignée de mains.

A bientôt.

Rechercher des sujets similaires à "compter chaque ligne repetition nombre"