Module de classe

L

LaurentG

Guest
Bonjour

J'ai un USF, avec lequel je créee automatiquement des boutons suivant le nombre de lignes remplies.
Jusque là tout va bien.
J'ai ensuite crée un module de classe afin que chaque bouton ait la même action.
Ici donc je voudrais que mon bouton valider copie la valeur de la textbox correspondante dans la cellule B & numéro du bouton.

Code du module de classe :

Code:
Public WithEvents groupeboutonvalider As MSForms.CommandButton

 Private Sub groupeboutonvalider_click()
Dim num As Byte
num = Right(groupeboutonvalider.Name, Len(groupeboutonvalider.Name) - 7)
nom = groupeboutonvalider.Name
MsgBox 'Vous allez valider le test ' & nom

Range('b' & num).Value = UserForm2.qte & num.Value
End Sub

Code module classique :
Code:
	Laurent Gadeyne
	    FRA/VERITAS
	22/09/2005 14:48
	
		 
		 To: Joan Lefebvre/FRA/VERITAS@VERITAS
		 cc: 
		 Subject: 
		 Ref.: 

Module de classe : 

Public WithEvents groupeboutonvalider As MSForms.CommandButton

 Private Sub groupeboutonvalider_click()
Dim num As Byte
num = Right(groupeboutonvalider.Name, Len(groupeboutonvalider.Name) - 7)
nom = groupeboutonvalider.Name
MsgBox 'Vous allez valider le test ' & nom

Range('b' & num).Value = UserForm2.valider1.Value
End Sub



Module : 


' insère un bouton Valider pour chaque ligne remplie
Set ctr5 = UserForm2.Controls.Add('forms.commandbutton.1', 'valider' & x, True)
        With ctr5
        .Picture = LoadPicture('C:\\Documents and Settings\\GADEYNE\\Bureau\\valider.gif')
        .Tag = x
        .ControlTipText = 'Vadider le test'
        End With
        ctr5.Left = 408 'positionne le nouveau TextBox (horizontal)
        ctr5.Width = 12 'dimensionne le nouveau TextBox
        ctr5.Height = 12
        
        ctr5.Top = 24 + (x - 1) * 35


'ajouter le bouton dans le module de classe

nb = 0
For Each ctr5 In UserForm2.Controls  'Nom de ton formulaire
            If ctr5.Name Like 'valider*' = True Then 
            nb = nb + 1
            ReDim Preserve valider(1 To nb)
            Set valider(nb).groupeboutonvalider = ctr5 
       End If

Faut-il que j'ajoute la textbox en question dans le module de classe?
En effet, le code

Code:
Range('b' & num).Value = UserForm2.qte & num.Value

ne fonctionne pas. J'ai un message d'erreur 'Membre de méthode ou de données introuvable' en me surlignant '.qte'.

Quelqu'un aurait une idée pour résoudre cela?

Merci beaucoup

Laurent
 

Discussions similaires

Statistiques des forums

Discussions
300 823
Messages
1 987 483
Membres
209 865
dernier inscrit
MALICK SENE