Macro en boucle format textbox /xls 2003

Fermé
abdouriabi Messages postés 16 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 17 mars 2011 - 17 févr. 2011 à 12:45
abdouriabi Messages postés 16 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 17 mars 2011 - 20 févr. 2011 à 16:55
Bonjour tout le monde,

Je cherche une macro en boucle pour le format de 50 text box dans mon userform svp

voici ce que j'ai fais :

TextBox1.Value = Format(TextBox1.Value, "0.00%")
TextBox2.Value = Format(TextBox2.Value, "0.00%")
TextBox3.Value = Format(TextBox3.Value, "0.00%")
....et ainsi de suite mais ca prend du temps et ca alourdi le programme.

En vous remerciant d'avance
A voir également:

5 réponses

bonjour,

La question aurait sans doute eu des réponses plus rapide dans le forum programmation!

Dim MyControl As Control

For Each MyControl In Controls

    If Left(MyControl.Name, 7) = "TextBox" Then
        MyControl.Value = Format(MyControl.Value, "0.00%") 
    End If

Next

Bonne journée
1
abdouriabi Messages postés 16 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 17 mars 2011
18 févr. 2011 à 22:37
Bonjour PAF,

vous avez raison concernant le forum, j'ai pas fais attention ;;;;;j'ai essayé de le déplacé dans le forum concerné mais je vois pas comment.

Merci pour votre réponse et de votre aide , mais malheureusement ca fonctionne pas ou plutot j'ai mal programmé.....si vous pouvez m'aider SVP

j'ai mis au début:

private sub textbox_change ()

Dim MyControl As Control

For Each MyControl In Controls

If Left(MyControl.Name, 7) = "TextBox" Then
MyControl.Value = Format(MyControl.Value, "0.00%")
End If

Next

end sub

bonne journée
a vous lire
0
bonsoir,

y a t-il un message d'erreur ?

Qu'est censé faire ce code ? et qu'est ce qu'il fait?


la boucle for each, dans l'évênement change, n'est peut-être pas judicieusement placée.

A +
0
abdouriabi Messages postés 16 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 17 mars 2011
19 févr. 2011 à 14:17
Bonjour,

Non j'ai pas de message d'erreur.

le code devrait mettre les valeurs des textbox en pourcentage avec 2 chiffres apres le virgule.

quand je fais

private sub textbox1_change ()
TextBox1.Value = Format(TextBox1.Value, "0.00%")
end sub

private sub textbox2_change ()
TextBox2.Value = Format(TextBox2.Value, "0.00%")
end sub

et ainsi de suite (jusqu'a 50 textbox) ca fonctionne tres bien.

pour votre code j'ai rajouté seulement et il ne fonctionne pas :

private sub textbox_change ()
..........votre code
end sub

sachant que les textbox je ne les remplis pas, ils sont récuperer d'une feuille excel.
ci dessous le code de récupération des valeurs des textbox :
Private Sub DTPicker1_Change()
Dim LastLig As Long, Lig As Long
Dim c As Range
Dim i As Integer
Dim Dte As Date

Dte = Me.DTPicker1.Value
For i = 2 To 75
Me.Controls("TextBox" & i - 1).Value = ""
Next i
With Sheets("GPEE") 'à adapter
LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
If LastLig >= 6 Then
Set c = .Range("A6:A" & LastLig).Find(Dte, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Lig = c.Row
Set c = Nothing
For i = 2 To 75
Me.Controls("TextBox" & i - 1).Value = .Cells(Lig, i)
Next i
End If
Else
MsgBox "Données manquantes"
End If
End With
End Sub

merci et bonne journée
0
Que j'essaye votre méthode ou la mienne, j'obtiens le même résultat!

A savoir si la cellule destinée à alimenter la textbox contient 12, la textbox formatée affiche 1200.00%

par ailleurs dans Sub DTPicker1_Change(), les textbox étant initialisées , par la boucle:
For i = 2 To 75
   Me.Controls("TextBox" & i - 1).Value = .Cells(Lig, i)
Next i 

le format pourrait être apporté en même temps (cela évite les manipulations ultérieurs) :
For i = 2 To 75
   Me.Controls("TextBox" & i - 1).Value = Format(.Cells(Lig, i),"0.00%")
Next i 


mais, j'ai le même résultat que précédemment !

Désolé je ne saisit pas le Problème.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
abdouriabi Messages postés 16 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 17 mars 2011
20 févr. 2011 à 16:55
Bonjour PAF,

Pour le moment je vais fais une par une , ce n'est pas grave, en tout cas merci beaucoup de votre votre aide.

Bon Dimanche
0