Macro en boucle format textbox /xls 2003
abdouriabi
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
abdouriabi Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
abdouriabi Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Macro en boucle format textbox /xls 2003
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
5 réponses
bonjour,
La question aurait sans doute eu des réponses plus rapide dans le forum programmation!
Bonne journée
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
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
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
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 +
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 +
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
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
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:
le format pourrait être apporté en même temps (cela évite les manipulations ultérieurs) :
mais, j'ai le même résultat que précédemment !
Désolé je ne saisit pas le Problème.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question