Format décimal dans ListBox

Bonjour le forum,

Mon formulaire (UserForm) se compose d'une TextBox et d'une ListBox. Cette dernière est alimenté par un tableau structuré, TS_Data. Dans ce tableau, il y a deux colonnes avec format numérique, <crédit> et <débit>. Dans la ListBox1 l'affichage de ces colonnes se fait sur le format "#'##0.00" soit par exemple "2'455.99" (l'apostrophe pour séparer les milliers et le point pour séparer les décimales). Le formulaire permet d'effectuer une recherche intuitive de type "google". En effet, lorsqu'on tape quelques caractères dans la TextBox1, les informations de la ListBox1 sont filtrées. Jusque-là tout va bien.

Problème: Lors qu'une recherche est lancée, les colonnes <crédit> et <débit> des occurrences trouvées affichent le bon format mais les décimales sont supprimés. Ainsi, le résultat obtenu est "2'455.00" au lieu de "2'455.99".

Vous trouverez, en pièce jointe, un formulaire illustrant mes propos. Pourriez vous m'aider svp? Merci d'avance.

Georg

Bonjour,

Supprimez le formatage des valeurs numériques.

Bonjour

Eric pourquoi Range("TS_Data").Item(i, 1)) au lieu de [TS_Data].Item(i, 1)

Cordialement

A+ François

Bonjour François,

Je n'ai regardé que ce qui était demandé...

Bonjour

Bon, j'ai récupéré les décimales mais perdu l'apostrophe et le point.

Merci Eric pour votre réponse et fanfan pour le suivi.

Eric pourquoi Range("TS_Data").Item(i, 1)) au lieu de [TS_Data].Item(i, 1)

pourtant, moi je préfère ce "range" au lieu d'un "evaluate" avec ces "[ ]", qui sont plutôt "oldschool"/démodé

Bonjour BsAlv,

Je répète, hormis les lignes que j'ai effacées, je ne me suis pas occupé du code. Je vais l'effacer.

@Georg,

Le formatage que vous utilisez avec l'apostrophe et le point ressemble à un formatage SAP. Avez-vous vraiment besoin de ce formatage ?

Re

Le formatage que vous utilisez avec l'apostrophe et le point ressemble à un formatage SAP. Avez-vous vraiment besoin de ce formatage ?

Ce format correspond au format utilisé dans la feuille de calcul. Le besoin, s’il y en a un, est d’harmoniser les formats dans tout le projet. C’est plus simple pour la lecture. Je peux aussi vivre sans mais aurais préféré l’avoir.

Éric: pourriez-vous me dire à quoi correspond le formatage SAP?

SAP est un outil de gestion et de comptabilité allemand qui permet de consolider des données en temps réel (ou presque). Dans ce système, un flux financier passé à l'autre bout du monde est pris en compte à l'instant T. Les entreprises du CAC 40 et leur filiales l'utilisent.

Dans cet outil, si vous n'avez pas réglé vos paramètres locaux dans votre profil utilisateur (SAPGUI), c'est le genre de format qu'on récupère en requêtant les bases de données, et c'est la galère. Les formats peuvent être réglés dans votre profil à votre convenance pour être compatibles avec Excel par exemple.

Si personne ne vous a expliqué qu'on pouvait paramétrer les formats de données, c'est le genre de code comme le vôtre qu'on voit fleurir... car votre format de données n'est pas courant.

Non, personne ne m'avait expliqué ça avant. C'est la première fois que j'entend parler. Merci pour l'information.

Et ça serait la raison qui empêcherait le format?

Vous travaillez sur SAP ?

Si oui, regardez vos paramètres dans SAPGUI, vous pourrez modifier vos formats dates et numériques. A défaut de connaissance, faîtes-vous aider ?

Bonjour,

Je t'ai fait les modifications du code à l'initialisation du formulaire et lors de la saisie d'un critère de recherche.

Curieux comme affichage de nombres quand même.

image image

J'ai vu dans le fil des réponses précédentes qu'il y avait remarques sur le reste du code. Je précise que je ne me suis attaché qu'à trouver comment répondre au problème posé (le format d'affichage des nombres dans le formulaire) sans regarder le reste du code.

Teste et dis nous.

Bonsoir à tous ,

Juste pour assouvir ma curiosité , une petite question. Dans quelle contrée exotique utilise -t-on une apostrophe pour séparer les milliers ?

Bonjour,

Je t'ai fait les modifications du code à l'initialisation du formulaire et lors de la saisie d'un critère de recherche.

Merci Alex pour ta proposition. Effectivement, ton code fait apparaître le point après une recherche.

J'ai vu dans le fil des réponses précédentes qu'il y avait remarques sur le reste du code. Je précise que je ne me suis attaché qu'à trouver comment répondre au problème posé (le format d'affichage des nombres dans le formulaire) sans regarder le reste du code.

Effectivement, c'était fanfan38 qui faisait un commentaire sur le code proposé par Eric et BsAlv qui commenté le code de fanfan38. Enfin, si vous avez de commentaires sur mon code n'hésitez pas.

Curieux comme affichage de nombres quand même.

Juste pour assouvir ma curiosité , une petite question. Dans quelle contrée exotique utilise -t-on une apostrophe pour séparer les milliers ?

mafraise la contrée exotique où j'habite ne dois pas être si loin de la votre. En effet, je vois dans votre profil que vous avez 1'043 messages (1'043 écrit avec un séparateur des milliers qui ressemble de manière extraordinaire à un apostrophe!) mais merci quand même de votre participation.

Vous travaillez sur SAP ?

Si oui, regardez vos paramètres dans SAPGUI, vous pourrez modifier vos formats dates et numériques. A défaut de connaissance, faîtes-vous aider ?

Je ne connaît pas SAP. Suite à votre intervention, je suis allé sur le net pour me renseigner. Il s'agit d'un logiciel payant destiné aux entreprises et aux transactions commerciales. Non, je ne l'utilise pas.

Merci pour vos propositions, conseils et commentaires.

Re,

Juste pour assouvir ma curiosité , une petite question. Dans quelle contrée exotique utilise -t-on une apostrophe pour séparer les milliers ?

mafraise la contrée exotique où j'habite ne dois pas être si loin de la votre. En effet, je vois dans votre profil que vous avez 1'043 messages (1'043 écrit avec un séparateur des milliers qui ressemble de manière extraordinaire à un apostrophe!) mais merci quand même de votre participation.

Bravo georg . Je n'avais jamais remarqué cette notation . Du coup, j'ai regardé votre profil et effectivement nous sommes frontaliers (à quelques 700 km cependant ).

Du coup, XLP serait Suisse ?

quelque petites adaptations

  1. comme vous changez plusieurs fois le formattage des listcolumns, c'est une macro "M_ListBox1_Formattage" qu'on peut lancer de plusieurs endroits, donc moins de manipulations et maintenance.
  2. cette recherche sur multiple colonnes, on peut le remplacer par un "Range.find" et le résultat, si c'est "nothing", la ligne ne contient pas cette chaîne.
  3. avec votre formattage "exotique" 1234567,89 sera 1234'567,89 mais serait mieux 1'234'567,89, donc j'ai ajouté une fonction personnalisée "f_Exotique"

Bonjour,

Merci BsAlv pour votre proposition. J'ai compris le concept de sérialiser les événements que se répètent et je le trouve intéressant. Toutefois, lorsque j'essaie d'initier une recherche en TextBox1 un message signale une erreur "13 incompatibilité de type" et la ligne souligné en jaune est :

        s = Replace(Format(Valeur * 1000, "#,##0.00"), ".", "'")     'séparateur milliers est l'apostrophe '

'faut-il faire la différence entre majuscules/minuscules ?

Non, n'est pas nécessaire.

si l'orthographie n'est pas important, vous pouvez supprimez ce "MatchCase"

Set Cl = Range("TS_Data").Rows(i).Find(Me.TextBox1, lookat:=xlPart, MatchCase:=True) 'faut-il faire la différence entre majuscules/minisucles ?

Merci BsAlv, j'ai supprimé "MatchCase". Auriez-vous une suggestion concernant le message d'erreur?

Rechercher des sujets similaires à "format decimal listbox"