Microsoft 365 Format grand Nombre de Textbox

  • Initiateur de la discussion Initiateur de la discussion eric72
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

eric72

XLDnaute Accro
Bonjour à tous,

J'ai un Userform avec beaucoup de Textbox, j'aimerais qu'à la saisie et au chargement il y ait un séparateur de milliers, il y a bien la méthode :
VB:
Private Sub TextBox156_AfterUpdate()
TextBox156.Text = Format(TextBox156.Text, "#,##0")
End Sub

Mais vu le nombre de textbox, il y a peut-être mieux à faire!!!
Merci beaucoup pour votre aide...
Eric
 

Pièces jointes

Solution
Ok, essaie d'utiliser ce code que je préfère d'ailleurs, car la Classe des TextBox y est bien séparée et pas confondue avec le UserForm et où je ne sais pas vraiment ce que VBA instancie.
Avec une classe séparée et identifiée, c'est plus clair et plus compréhensible.
Bonjour Dudu2,

Merci beaucoup pour cette solution, par contre dans mon fichier d'origine j'ai déjà un module de classe et quand j'ajoute ce code il me met "espace pile insuffisant", je vais essayer de joindre le fichier d'origine en l'allégeant au maximum!!!
 
Bonjour Eric72
Bonjour le Fil
As tu essaié de simplifier ainsi ?
VB:
Private Sub UserForm_Initialize()
Dim I As Long
 For indx = 156 To 275
        I = I + 1

 Set TTB(I).TB = Me.Controls("TextBox" & indx)
 
 Next indx
'RemplitLesListes
BtAjoutObjectif.Visible = False: BtModif.Visible = False
End Sub
Edit : je n'avais pas regarde le Fichier de Dudu2
Bonne fin de Journée
Jean marie
 
Bonjour Eric72
Bonjour le Fil
As tu essaié de simplifier ainsi ?
VB:
Private Sub UserForm_Initialize()
Dim I As Long
 For indx = 156 To 275
        I = I + 1

 Set TTB(I).TB = Me.Controls("TextBox" & indx)
 
 Next indx
'RemplitLesListes
BtAjoutObjectif.Visible = False: BtModif.Visible = False
End Sub
Edit : je n'avais pas regarde le Fichier de Dudu2
Bonne fin de Journée
Jean marie
Bonjour Jean-Marie,
Merci quand même d'être passé voir pour m'aider 😉
Bonne soirée et à très bientôt...
 
Bonjour tout le monde,
@eric, juste une idée en passant.
Lorsqu'un USF contient énormément de textbox , il peut être intéressant de le basculer sur une feuille.
C'est ensuite beaucoup plus simple de gérer les données, de modifier les formats, d'y mettre des listes déroulantes ou encore de le faire évoluer si plus de commerciaux.
Un simple essai en PJ, la feuille est appelée avec :
Code:
Sub Ouvrir_Objectifs()
    Sheets("Objectifs").Visible = True
    Sheets("Objectifs").Select
End Sub
et refermée avec :
VB:
Sub Fermer_Objectifs()
    Sheets("Objectifs").Visible = xlSheetVeryHidden
    Sheets("Feuil1").Select
End Sub
 

Pièces jointes

Bonjour tout le monde,
@eric, juste une idée en passant.
Lorsqu'un USF contient énormément de textbox , il peut être intéressant de le basculer sur une feuille.
C'est ensuite beaucoup plus simple de gérer les données, de modifier les formats, d'y mettre des listes déroulantes ou encore de le faire évoluer si plus de commerciaux.
Un simple essai en PJ, la feuille est appelée avec :
Code:
Sub Ouvrir_Objectifs()
    Sheets("Objectifs").Visible = True
    Sheets("Objectifs").Select
End Sub
et refermée avec :
VB:
Sub Fermer_Objectifs()
    Sheets("Objectifs").Visible = xlSheetVeryHidden
    Sheets("Feuil1").Select
End Sub
Bonjour Sylvanu,
Je note l'idée mais si je privilégie le userform c'est pour bien maitriser les éventuelles boulettes des utilisateurs, j'ai l'impression de mieux pouvoir contrôler les erreurs, mais j'ai surement tort.
Merci beaucoup pour cette remarque judicieuse.
Bonne soirée.
 
Comme indiqué, c'était juste une idée. 🙂
Je trouve que cela simplifie le code.
Par ex si vous voulez savoir ce que Dupond à renseigné pour Mai, la feuille se révélera beaucoup plus simple qu'un userform pour extraire la donnée.
 
Je pense qu'il a tout simplement colorer les cellules!!!
Exact. Seulement couleurs et bordures grises et blanches. 30s pour la feuille.
Après tout dépend de la consommation des infos, mais difficile de faire la corrélation entre Dupond, Mai et Textbox 192. 🙂
Après il faudrait ajouter un peu de code pour les Focus sur les cellules.
Avec des Worksheet_Change on peut simplement gérer la feuille en temps réel. Il est facile de déterminer que telle cellule c'est Untel et tel mois.
J'ai fait cet aparté, hors contexte je le concède, car j'ai déjà traité un ex de ce genre, et on a été amené à des gymnastiques incroyables ensuite pour traiter les données. Par ex simplement faire le total de Dupond sur l'année demande une sacré macro. Sauf si chaque textbox a été nommée intelligemment au départ, mais alors c'est beaucoup d'huile de coude.
Mais dans le contexte, votre macro est impeccable. 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
656
Réponses
16
Affichages
830
Réponses
1
Affichages
352
Retour