Format Box Formulaire/Simuler un 2click

Bonjour,

Je viens de faire un formulaire dont je suis très fiers 8) (il m'en faut peu, je sais ). Ce dernier permet de saisir et de modifier des données dans un tableau. Je n'ai pas eu le temps de le tester entièrement mais il à l'air de répondre à mes attentes.

Seul problème pour l'instant, les données saisies dans le tableau via le formulaire ne sont pas au bon format.

Je crois que le format par défauts des ComboBox/TextBox est le format texte, or j'aimerais que le format s'adapte à celui des colonnes de mon tableau. Quelqu'un sait il comment faire?

Par ailleurs, si vous avez des remarques concernant le formulaire en lui même je suis preneur. C'est la première fois que je me confronte à cet exercice et tous vos conseils sont donc les bienvenus!

Merci d'avance,

Adrian

34test-bd-fi.xlsm (41.16 Ko)

Bonjour,

Tu n'as pas le choix les contrôles de formulaires sont fait comme ça et tu ne peux rien y changer...

Si tu voulais afficher les nombres comme dans ta BD, il faudrait que tu fasses une double conversion à l'entrée, et à la sortie du formulaire.

Je te rappelle que les formats de ta BD sont juste des formats d'affichage quand tu as 300 000,00 € d'affiché dans ta BD dans la barre de formule tu as bien 300000, il faudrait donc que tu appliques un format "texte" pour afficher le visuel que tu veux dans ton Userform.

Mais après pour revenir dans ta BD il faudrait reformater supprimer €, espaces et tout le tintouin pour revenir à un entier long que tu vas réintégrer dans ta BD...

C'est pareil dans le formulaire : Le formulaire t'affiche des "trucs" bêtement. C'est ton décodeur personnel qui te fait traduire que ce qu'il t'affiche est une date, un N° de téléphone, ou une somme d'argent. Si ton décodeur personnel ou que tu as les yeux un petits fatigué, tu es obligée de convertir en un affichage compatible avec ta compréhension...

Ça peut se faire note bien... Il suffit d'être un virtuose des conversion de format. On en prend vite l'habitude : tu te fais des petites fonctions perso qui importent des entiers longs et te les affiche en monétaires, tu te fais une autre fonction perso qui récupère des strings à look monétaire et les convertit en entier long pour les stocker dans ta base de données, idem pour les N° de téléphone ou les dates... et je te passe les problèmes d'affichage d'heures...

Sinon pour le reste de la construction, tu as un bon point... Partir sur un format de tableau prédéfini Excel est plutôt une bonne idée. et la ligne d'en-tête très haute qui stocke les boutons est aussi une bonne base de départ.

Par contre la petite légende de couleurs sur 3 lignes à rien à faire par là, mébon...

Enfin, sur la philosophie générale de la conception, c'est pas top certes, mais ça on peux pas trop critiquer : C'est sans doute ce que tu peux faire de mieux dans ce contexte.

A+

Salut Galopin,

J'ai pas encore testé mais la conversion format dans les formulaires à l'air d'être bien galère d'après ton expérience (en tout cas bien long)!

Perso dans mes rêves je pensais plus à un Actualiser/Refresh à lancer avec le bouton QUITTER! J'ai pas pu tester et ça m'étonnerai que ça fonctionne mais bon... J'ai remarqué qu'une fois les données rentré dans mon tableau grâce au formulaire, il suffisait de placer le curseur dans une des nouvelles cellule (double clique) puis d'en sortir pour que le format se mette à jour. C'est peut être une piste résoudre mon problème plus simplement?

La légende me sert de mémo, ça va dégager quand j'aurais fini mon fichier test

Pour la philosophie de la conception je peux pas te dire, je n'ai pas vu d'autres formulaires en détail..

En tout cas merci pour ta réponse et tes conseils!

Bonjour à tous,

Quelques précisions sur ce que j'aimerais faire :

Quand je rentre une ligne dans mon tableau via mon formulaire, les données ne sont pas au bon format. Cependant il me suffit de doublecliquer sur les cellules insérées pour qu'elles se mettent au bon format. J'aimerais donc créer une macro qui me permette de doublecliquer sur les cellules en question...

Par exemple : quand je 2click sur les cellules de la ligne 11 que je viens d'insérer, voici ce que ça donne avec l'enregistreur de macro :

Range("A11").Select
    ActiveCell.FormulaR1C1 = "2007"
    Range("B11").Select
    ActiveCell.FormulaR1C1 = "6/30/2016"

et ainsi de suite pour toutes les cellules ajoutées via le formulaire.

J'ai donc pensé à ces quelques lignes activées par le bouton QUITTER, mais pour l'instant ça ne fonctionne pas

'Pour le bouton QUITTER
Private Sub CommandButton3_Click()

    For i = 1 To 20
    Cells(derln, i).Activate
    ActiveCell.FormulaR1C1 = ActiveCell
    Next i

    Unload Me
End Sub

Quelqu'un pourrait-il m'éclairer?

Bien cordialement,

Voilà, en cherchant un peu j'obtiens le résultat souhaité : ces 3 lignes me simulent le double clique sur la plage demandée.

'Pour le bouton QUITTER
Private Sub CommandButton3_Click()
    For i = 1 To 20
    Cells(derln, i).Activate
        ActiveCell.Formula = ActiveCell.Value
    Next i

    Unload Me
End Sub

Du coup les formats s'actualisent et ça marche niquel.. enfin presque

1er problème :

Ce code remplace mes formules par des valeurs. Je ne le souhaite pas et du coup je me demande comment faire une boucle avec exception (ici mes cellules avec formules)... je ne sais pas si c'est le terme approprié mais ce que je veux c'est un truc du genre For i = [1to6]et[8]et[12]et[15to18] qui m'éviterais de spécifier chaque cellules une par une.

Second problème : Résolu en lançant le code (adapté) avec les boutons AJOUTER et MODIFIER (et non plus QUITTER)

Ce code utilise ma variable Derln configurée au début du formulaire. Seulement, quand j'ajoute une ligne via le formulaire, la dernière ligne devient en fait dernière ligne +1. Il n'y a que lorque je modifier une référence qu' il s'agit bien de la dernière ligne calculée au début... Du coup lorsque j'ajoute une ligne via formulaire mon code pour double cliquer s'exécute sur la ligne d'avant ce qui ne m'est pas utile.

Je vais continuer à chercher, mais si le sujet vous intéresse je ne suis pas contre un coup de pouce !

Bien à vous,

10test-bd-fi.xlsm (47.93 Ko)

La plupart des problèmes de formats sont résolus grâce à ces lignes qui simulent le double clique :

For i = 1 To 18
                    Select Case i
                        Case 7, 9 To 11, 13 To 14
                        Case Else
                            Cells(ligne, i).Activate
                            ActiveCell.Formula = ActiveCell.Value
                    End Select
                Next i

A l'exception des problèmes de format de dateque j'ai sans doute depuis le début mais que je n'avais pas remarqué... Résolu avec Cdate

Excel doit fonctionné sur le format de date américain, du coup il y a une différence entre les mois et les jours que je rentre dans le userform et celle de mon tableau .

Je verrais ça demain!

Rechercher des sujets similaires à "format box formulaire simuler 2click"