Boucler sur tous les Txtbox d'un Userform et les formater en €

GADENSEB

XLDnaute Impliqué
Hello le forum,
Je voudrais, à l'ouverture de mon usf, formater tous les txtbox en mm temps sous le format monétaire €.

Le code suivant ne fonctionne pas; il me déclare une erreur d'exécution 438 !!!!! alors que je déclare ctrl ...

Code:
With Usf_Soldes
    Dim ctrl As Control
    For Each ctrl In Usf_Soldes.Controls
     If TypeOf ctrl Is MSForms.TextBox Then
     ctrl.Format = "#,##0.00 €"
    End If
    Next
End With

Qqn aurait une idée ??
Bonne am
Seb
 

tototiti2008

XLDnaute Barbatruc
Re : Boucler sur tous les Txtbox d'un Userform et les formater en €

Bonjour Gadenseb,

Les textbox n'ont pas de propriété Format, elles contiennent du texte
à tester

Code:
With Usf_Soldes    Dim ctrl As Control
    For Each ctrl In .Controls
     If TypeOf ctrl Is MSForms.TextBox Then
if isnumeric(ctrl.text) then ctrl.text = format(cdbl(ctrl.text),"#,##0.00 €")
    End If
    Next
End With
 

GADENSEB

XLDnaute Impliqué
Re : Boucler sur tous les Txtbox d'un Userform et les formater en €

Hello,
Pas mieux ... là rien ne se passe !
sniff
 

BOISGONTIER

XLDnaute Barbatruc
Re : Boucler sur tous les Txtbox d'un Userform et les formater en €

Bonjour,

Après la saisie.

Code:
  Dim c As Control
  For Each c In Me.Controls
     tmp = Replace(c, ".", ",")
     If TypeName(c) = "TextBox" And IsNumeric(tmp) Then
       c = Format(tmp, "####.## €")
     End If
  Next
JB
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re : Boucler sur tous les Txtbox d'un Userform et les formater en €

Bonjour GADENSEB, tototiti2008, BOISGONTIER,

Je voudrais, à l'ouverture de mon usf, formater tous les txtbox en mm temps ...
A priori, peut-être suis je à coté de la plaque, il s'agirait de définir un format pour chaque textbox pour que ce format soit pris en compte lors de la saisie .

Si c'est ça, ce n'est pas possible, on ne peut appliquer ce format qu'après la saisie ( au mieux pendant la saisie ?)

A+
 

Discussions similaires


Haut Bas