Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA module de Classe Change()

  • Initiateur de la discussion Initiateur de la discussion Bens7
  • 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 !

Bens7

XLDnaute Impliqué
Bonjour a tous !!
Voila j;ai un code assez repetitif on m'a dit que c'etait possible de racourcir avec un Module de Classe (en chinois c'est pareil pour moi ... llllol) si vous avez une idee ici bas le code :
Code:
'MODIF LISTE DE SOUTIEN

Private Sub TextBox7_Change()
If ComboBox2 <> "" Then
SURFACEAPRIX
RECALCUL
End If
End Sub

'MODIF CARTE DE VISITE
Private Sub TextBox8_Change()
If ComboBox2 <> "" Then
SURFACEAPRIX
RECALCUL
End If
End Sub

'MODIF 1/8 EME
Private Sub TextBox9_Change()
If ComboBox2 <> "" Then
SURFACEAPRIX
RECALCUL
End If
End Sub

'MODIF 1/4
Private Sub TextBox10_Change()
If ComboBox2 <> "" Then
SURFACEAPRIX
RECALCUL
End If
End Sub

'MODIF 1/2
Private Sub TextBox11_Change()
If ComboBox2 <> "" Then
SURFACEAPRIX
RECALCUL
End If
End Sub

'MODIF 1
Private Sub TextBox12_Change()
If ComboBox2 <> "" Then
SURFACEAPRIX
RECALCUL
End If
End Sub

'MODIF SOLDE
Private Sub TextBox13_Change()
If ComboBox2 <> "" Then
SURFACEAPRIX
RECALCUL
End If
End Sub

'MODIF CHOIX
Private Sub TextBox14_Change()
If ComboBox2 <> "" Then
SURFACEAPRIX
RECALCUL
End If
End Sub
 
Re : VBA module de Classe Change()

Comme ça ça marche

Mais ça marche aussi avec une collection:
VB:
Option Explicit
Dim Coll As New Collection

Private Sub UserForm_Initialize()
Dim N As Long
For N = 1 To 3: AjoutTbx N, Me.Controls("TextBox" & N), Me.Controls("TextBox" & N + 3): Next N
End Sub
Private Sub AjoutTbx(ByVal N As Long, ByVal Tbx1 As MSForms.TextBox, ByVal Tbx2 As MSForms.TextBox)
Dim Mbr As New TextBoxMembre
Set Mbr.Parent = Me: Set Mbr.Tbx1 = Tbx1: Set Mbr.Tbx2 = Tbx2
Coll.Add Mbr
End Sub

Public Sub TBM_Change(ByVal TBM As TextBoxMembre)
If Me.ComboBox2 <> "" Then TBM.Tbx2 = "ComboBox 2 Pas Vide"
End Sub
Il y avait juste Public Parent As MSForms.Userform qu'il n'aimait pas, sans doute parce qu'il n'arrive pas à introduire de liaison anticipée vu que tous les Userform ne possèdent pas de méthode TBM_Change. Alors allons y à regret pour une liaison tardive en mettant As Object.
 

Pièces jointes

Dernière édition:
Re : VBA module de Classe Change()

Bonjour bens7, le fil et le forum
ci-joint ton classeur.
J'en ai profité pour ajouter les autres textbox (mouse_move).
Fait un test car je n'ai pas tout essayé !!
Bon courage et à +
Denis
 

Pièces jointes

Re : VBA module de Classe Change()

Tout d'abord merci a tous
je suis desole ca marche c'est sur mais je ne pourrais en aucun utiliser les 2 fichiers c'est tellement complique que je ne pourrais jamais reutiliser c'est Module ! Mais je les garde sous le coude quand meme
moi je parlais d'un truc qui passe de 30 lignes a 5 voir le post #16 peut etre plus simple pour moi
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…