Éviter la répétition de macro

Etienne2323

XLDnaute Impliqué
Bonjour à tous,
je travaille actuellement avec un userform contenant une centaine de textbox. J'utilise les 4 macros suivantes pour chacun des textbox.
VB:
Private Sub TextBox25_AfterUpdate()
TextBox25.Value = Format(CDbl(TextBox25.Value / 100), "0.0%")
Call Total2
End Sub

Private Sub TextBox25_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Me.TextBox25.SetFocus
Me.TextBox25.SelStart = 0
Me.TextBox25.SelLength = Len(Me.TextBox25)
End Sub

Private Sub TextBox25_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Me.TextBox25.SetFocus
Me.TextBox25.SelStart = 0
Me.TextBox25.SelLength = Len(Me.TextBox25)
End Sub

Private Sub TextBox25_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii = Asc(Point) Then
        If InStr(TextBox25, Virgule) = 0 Then
            KeyAscii = Asc(Virgule)
        Else
            KeyAscii = 0
        End If
    ElseIf InStr(entrees_decimales_permises, Chr(KeyAscii)) = 0 Then
        KeyAscii = 0
    ElseIf InStr(TextBox25, Virgule) > 0 And KeyAscii = Asc(Virgule) Then
        KeyAscii = 0
    End If
     
    If KeyAscii = 13 Then SendKeys "{TAB}": KeyAscii = 0
End Sub

Les mêmes 4 macros sont ensuite répétées pour le Textbox26, ensuite le TextBox27, et ainsi de suite jusqu'à TextBox124.

J'aimerais savoir s'il existe une manière d'énumérer le nom de chacun des textbox dans un array par exemple (ou n'importe quelle autre possibilité) afin de ne pas être obligé de répéter 100 fois les mêmes codes en ne changeant que les numéros des textbox.

J'espère avoir été clair,

Merci d'avance,

Cordialement,

Étienne
 

Etienne2323

XLDnaute Impliqué
Re : Éviter la répétition de macro

Salut Pierrot, Yann, mercant, le forum
@ Pierrot : c'est fameux. Ça fonctionne comme un charme !

En modifiant un peu pour gérer les pourcentages, je m'en sort très bien :)

Je vais devoir travailler un peu pour gérer les _Change comme il faut mais le résultat est très bien. Je devrais être capable de m'en sortir.

En te remerciant énormément !

@ Yann : encore une fois, merci également pour toute l'aide apportée. C'est très apprécié. Si jamais par hasard tu retrouves ton exemple, je suis toujours très preneur ;)

Au plaisir de vous recroiser !!!

Cordialement,

Étienne
 

YANN-56

XLDnaute Barbatruc
Re : Éviter la répétition de macro

Coucou Laeti, :)

Moi j'en ai 72! Et l'on ne dit rien??? ;)

Ho! Pardon......... On ne parlait pas des mêmes

Bravo Pierrot

Rien à fiche du nombre!!!
Ce qu'il sera toujours à reconnaître c'est ta compétence et ta gentillesse toujours accompagnées
de ce brin de modestie qui n'appartient qu'aux grands.

Très amicalement.

Yann
 

Etienne2323

XLDnaute Impliqué
Re : Éviter la répétition de macro

Salut laetitia,
en temps normal, c'est ce que j'aurais fait. Or, dans ce cas particulier, il s'agit d'un userform qui est déjà très avancé et qui se nourrit de beaucoup d'information confidentielle qui se trouvent dans le classeur.

Reproduire un exemple équivalent demanderait beaucoup trop de temps, c'est pourquoi j'avais simplement présenté les codes utilisés.

Mais merci de l'intérêt porté !

Cordialement,

Étienne
 

Discussions similaires

Statistiques des forums

Discussions
312 500
Messages
2 089 007
Membres
104 003
dernier inscrit
adyady__