Insertion des données et problème avec ma fonction max

7max.xlsm (20.60 Ko)

Bonjour le forum
J’ai un souci avec la réponse de ma fonction max…
En effet j’ai un classeur qui contient une feuille et un formulaire, la feuille contient les notes de différentes matières qui sont insérées depuis mon formulaire. J’ai également un autre endroit sur la même feuille qui me permet de connaître les meilleurs notes de chaque matière mais en utilisant la fonction max ça me donne toujours 0 comme si elle ne reconnaît pas les valeurs qui sont dans mon tableau.
Donc j’aimerais que cette fonction donne réponses exactes à chaque fois que j’insère les notes depuis mon formulaire

Ci-joint le fichier

Hello,

Il interprète tes cellules comme du texte.

Fallait convertir en numérique

Regarde dans le fichier j'ai adapté

@+

5max.xlsm (19.68 Ko)

Bonjour,
Une autre proposition.
Cdlt.

4max.xlsm (22.31 Ko)
Private Sub CmdValider_Click()
Dim X As Long, Y As Long

    X = FeuilM.Range("B" & Rows.Count).End(xlUp).Row

    For Y = 6 To X
        If FeuilM.Cells(Y, 2).Value = TxCherché.Text Then
            FeuilM.Cells(Y, 3).Value = CDbl(TxM)
            FeuilM.Cells(Y, 4).Value = CDbl(TxP)
            FeuilM.Cells(Y, 5).Value = CDbl(TxF)
            FeuilM.Cells(Y, 6).Value = CDbl(TxH)
            FeuilM.Cells(Y, 7).Value = CDbl(TxA)
        End If
    Next Y

    Unload Me

    UserForm1.Show

End Sub

Bonjour

Les valeurs de ton tableau sont des textes et non des nombres

En plus tu codes comme pour une plage pas pour un tableau structuré, tableau structuré qui devrait avoir un nom parlant, Notes par exemple et pas le nom automatique Tableau1.

Il est déconseillé de placer la synthèse sous un tableau appelé à s'allonger...

Le code pour remplir les notes d'une ligne ou bien ajouter une ligne si Nom pas dans le tableau pourrait être

Dim X As Range

With Range("Notes").ListObject
    Set X = .ListColumns("Nom").DataBodyRange.Find(TxCherché)
    If X Is Nothing Then
        Set X = .ListRows.Add.Range.Cells(1.1)
        X = TxCherché
    End If
    X.Offset(0, 1).Value = CDbl((TxM)
    X.Offset(0, 2).Value = CDbl((TxP)
    X.Offset(0, 3).Value = CDbl((TxF)
    X.Offset(0, 4).Value = CDbl((TxH)
    X.Offset(0, 5).Value = CDbl((TxA)
End With
Unload Me
UserForm1.Show
End Sub

Si pas de décimal Cbyte peut remplacer CDbl

Il y manque des contrôles de saisie...

EDIT : oups j'ai loupé le train on dirait mais c'est une autre version donc je laisse

RE

On s'est tous décarcassés pour rien car multipost et le demandeur répond ailleurs...

Rechercher des sujets similaires à "insertion donnees probleme fonction max"