marg55
XLDnaute Nouveau
Bonjour,
Je souhaite dans la réalisation de mon programme, récupérer un variable que je créer dans un module de classe dans un autre module de classe, bien que j'ai beaucoup lu sur le sujet, je ne trouve pas de solution.
Vous pouvez vous en douter, ma variable est déclaré en Public dans le module principe.
Ceci est une sous procédure de mon premier module de classe dans lequel j'utilise la variable "rec" pour la première fois,
Je la déclare de la sorte dans la procédure principale :
Ici, j'ai ma deuxième classe, dans laquelle je souhaiterai réutiliser le rec, le fait de l'avoir re-déclarer, fait qu'elle est vide, comme si c'était une variable nouvelle.
Comme je vous le disais, la variable est déclarée public dans le module initiale.
Je suis preneuse si quelqu'un à une solution que je n'ai pas capter !
Merci,
Margot.
Je souhaite dans la réalisation de mon programme, récupérer un variable que je créer dans un module de classe dans un autre module de classe, bien que j'ai beaucoup lu sur le sujet, je ne trouve pas de solution.
Vous pouvez vous en douter, ma variable est déclaré en Public dans le module principe.
Ceci est une sous procédure de mon premier module de classe dans lequel j'utilise la variable "rec" pour la première fois,
VB:
Sub NomObj(i As Integer, rec As String, IDobjet As String, ComboBox As MSForms.ComboBox)
Dim type_controle As String
Set ComboBox = Initialisation.Controls("ComboBox1")
'Associser à chaque choix de la ComboBox une lettre
Select Case ComboBox
Case "Controle mecanique"
type_controle = "A"
Case "Controle electrique"
type_controle = "B"
End Select
'ne garder la chaine rec qu'a partir du 6ème élement
rec = Mid(rec, 6)
'regrouper les différents éléments du nom pour créer l'identifiant au complet
IDobjet = type_controle & "0" & rec & Format((i - 4), "000")
End Sub
Je la déclare de la sorte dans la procédure principale :
Code:
NomObj i, (Cells(4, captionID.Column)), IDobjet, ComboBox
Ici, j'ai ma deuxième classe, dans laquelle je souhaiterai réutiliser le rec, le fait de l'avoir re-déclarer, fait qu'elle est vide, comme si c'était une variable nouvelle.
Code:
Option Explicit
Public WithEvents Bouton As MSForms.CommandButton
Sub Bouton_Click()
Dim ComboBox As Control
Dim i As Integer
Dim letter As String
Dim ctrl As Control
Dim lettredutest As Control
Dim X As String
Dim rec As String
Dim Multipage As MSForms.Multipage
For Each ctrl In Initialisation.Controls
If TypeOf ctrl Is MSForms.Multipage Then
Dim page As MSForms.page
For Each page In ctrl.Pages
Dim pageCtrl As Control
For Each pageCtrl In page.Controls
If TypeOf pageCtrl Is MSForms.ComboBox Then
X = Left(pageCtrl.Name, 1)
End If
Next pageCtrl
Next page
End If
Next ctrl
' For Each ctrl In Initialisation.Controls
' If TypeOf ctrl Is MSForms.TextBox Or TypeOf ctrl Is MSForms.ComboBox Then
' X = Left(ctrl.Name, 1)
' End If
' Next ctrl
'Sanction en fonction du type de controle (lettre) et de la ligne du test
For i = 1 To (DerniereLigne - 4)
If Initialisation.Controls(X & "0" & rec & "00" & i) = "OK" Then
Initialisation.Controls("L" & X & "000100" & i) = "CORRECT"
ElseIf Initialisation.Controls(X & "000100" & i) = "NOK" Then
Initialisation.Controls("L" & X & "000100" & i) = "ERREUR"
End If
Next i
End Sub
Comme je vous le disais, la variable est déclarée public dans le module initiale.
Je suis preneuse si quelqu'un à une solution que je n'ai pas capter !
Merci,
Margot.