Bonjour à tous,
Bon voilà je pense que j'ai problème très con et très facile à résoudre mais voilà je débute en VBA et tout ce que je fais je le pique sur internet mais là je n'ai rien trouvé de concluant pour mon cas...
J'ai une macro principale dans un de mes modules dans laquelle je déclare des variables publiques. J'appelle un UserForm et j'affecte les champs remplis à mes différentes variables déclarées en publique. Jusque là tout marche, même dans mon tableau virtuel, je récupère bien les bonnes données des cases cochées. Puis je quitte mon Userform et mes variables sont vides dans ma macro principale...
Help et merci à ceux qui prendront le temps =) !
La macro principale :
Option Explicit
Public UTILISATEUR As String
Public CHARGE_AFF() As Variant
Public CLIENT As String
Sub MACRO_PRINCIPALE()
INFO_INI.Show 'APPEL DE L'USERFORM "INFO_INI"
MsgBox "UTILISATEUR = " & UTILISATEUR 'C'EST TOUT VIDE Oo
End Sub
Le code de l'Userform :
Private Sub UserForm_Initialize()
With INFO_INI.CHARGE_AFF
.AddItem "Mr blabla"
.AddItem "Mr bleble"
.AddItem "Mr blibli"
.AddItem "Mr bloblo"
.AddItem "Mr blublu"
.AddItem "Mr blybly"
End With
With INFO_INI.CLIENT
.AddItem "MICHELIN"
.AddItem "AUTRE"
End With
End Sub
Il ressemble à ça :
Et le code du bouton "OK" de l'Userform :
Public Sub OK_Click()
UTILISATEUR = INFO_INI.UTILISATEUR.Value
MsgBox "UTILISATEUR = " & UTILISATEUR 'LA J'AI BIEN LA BONNE VALEUR
ReDim CHARGE_AFF(0)
For j = 0 To INFO_INI.CHARGE_AFF.ListCount - 1
If INFO_INI.CHARGE_AFF.Selected(j) = True Then
CHARGE_AFF(UBound(CHARGE_AFF)) = INFO_INI.CHARGE_AFF.List(j)
ReDim Preserve CHARGE_AFF(UBound(CHARGE_AFF) + 1)
End If
Next j
ReDim Preserve CHARGE_AFF(UBound(CHARGE_AFF) - 1)
CLIENT = INFO_INI.CLIENT.Value
Unload INFO_INI
End Sub