Problème fonction MAX et MIN avec valeurs décimales

Bonjour,

J'ai utilisé du VBA pour extraire des données d'un tableau brute (dosimétrie reçus du personnel pour un mois) (que je copie - colle d'un autre fichier) pour créer un autre tableau avec les données et une mise en forme soignée, ce code d'exécute classiquement avec un bouton déclencheur.

J'ai créé un entête au dessus de ce tableau qui réalise des mesures, exemple nombre de personne entrées ou non en zone, donc case vide ou n'ayant reçu aucune dose.

Mon problème se situe précisément dans le calcul des trois dose les plus élevées reçu, les données sont de type 0.000 , je remplace le point par une virgule mais rien n'y fait les valeur MAX et MAX2 et MAX 3 ne s'affiche que si je double clique dans chaque case .

Avez vous une idée pour résoudre ce problème ?

merci, j'ai tout essayé...

With wsDest

'D5
.Range("D5").Formula = "=MAX(D9:D" & lastRow & ")" 'Problème
'E5
.Range("E5").Formula = "=IFERROR(LARGE(D9:D" & lastRow & ",2),"""")" 'Problème
'F5
.Range("F5").Formula = "=IFERROR(LARGE(D9:D" & lastRow & ",3),"""")" 'Problème

'C5
.Range("C5").Formula = "=INDEX(A9:A" & lastRow & ", MATCH(D5, D9:D" & lastRow & ", 0))"

End With

2024 02 26 15h26 02

Bonjour,

Le problème peut venir du code (non fourni ...) par exemple, si un simple remplacement du point par une virgule est effectué car dans ce cas la valeur de départ est en texte et celle après remplacement l'est également. Une solution peut être d'effectuer une conversion en double avant d'écrire la cellule :

Range("XX").Value = CDbl(Replace(cValNumTxt, ".", "."))

Dans ce cas, la valeur écrite est un numérique double.

Si la réponse est erronée, le mieux serait de fournir le code avec un fichier anonymisé.

Cdlt,

Cylfo

Merci de votre réactivité, le fichier anonymisé en PJ.

7anadosi-2024.xlsm (80.30 Ko)

Re,

J'ai modifié la procédure CreerTableau, voir le code ajouté sous les 2 lignes de commentaire ' Ajout Cylfo.

Je suis resté au plus près du code existant mais il me semble que la suppression de l'onglet puis sa recréation pourrait être évitée en tirant partie des possibilités des tableaux structurés mais c'est un autre sujet .

13anadosi-2024-2.xlsm (74.22 Ko)

Cdlt,

Cylfo

Bonjour Cylfo,

Merci de votre aide , aucun soucis si vous avez un moyen d'améliorer le fichier, j'ai aussi retravaillé quelque détails notamment un autre problème de virgule dans le tableau en forçant les séparateurs décimal et des milliers par une "," .

J'aimerais explorer une solution plus avancée. Idéalement, je voudrais avoir la possibilité, à l'aide de deux boutons, d'intégrer les données d'un deuxième tableau dans un troisième ou quatrième tableau, en fonction de la société C ou D.

Je pourrais simplement copier-coller les données en les filtrant par société et par mois, puis calculer les totaux cumulés sur 3 et 12 mois. Cependant, un problème se pose : les données brutes peuvent varier d'un mois à l'autre en raison de nouveaux arrivants ou de départs.

Cela risque de modifier ou d'écraser les données cumulées existantes. Il serait donc nécessaire de figer ces données et de mettre en place un processus de vérification pour éviter toute altération.

N'hésiter pas si vous avez une meilleur solution

En PJ, le fichier à jour et anonymisé (le module GlobalCumulé n'est pas fonctionnel)

Bonsoir Exceleur50,

Je vous réponds un peu tardivement car je suis moins présent (temporairement) sur le site.

Il s'agit d'un nouveau sujet sans lien avec la problématique de celui-ci. Pouvez-vous ouvrir un nouveau sujet ce qui augmentera aussi vos chances d'avoir d'autres réponses.

Cdlt,

Cylfo

Rechercher des sujets similaires à "probleme fonction max min valeurs decimales"