User Form Procédures Initialize // Activate ne se réalisent pas

Bonjour,

Je suis novice en VBA; j'ai donc des lacunes de fond, mais je me débrouille..

Je développe des macros qui doivent me permettre de générer des factures en passant par la saisie des infos au travers de userform.

J'ai dans un module une macro qui lance un userform "UF_compteurs"

J'ai besoin qu'à son affichage (jsute avant ou juste après) un des "label" soit modifié.

J'ai donc placé une instruction pour ce faire dans une "private sub" UF_compteurs initialize().

J'ai testé avec la commande load UF_compteurs ou UF_compteurs.show dans mon module puis les évènements initialize et activate (j'ai écrit les 2 et les ai placé finalement dans le code de l'UF et dans le code de mon module) mais dans aucun des cas ces évènements ne se réalisent.

Quelqu'un sait-il me dire où est l'erreur? MERCI par avance

MODULE "principal"

Public Sub Saisie_relevés_compteur(L_RS, Compt_nb, compt_coul)

Dim SN As Variant

Dim tab_SN() As String

Dim col_dep, ligne_dep As Integer

repriseLAouJEmeSUISarreter = False

If repriseLAouJEmeSUISarreter Then GoTo reprise

SN = Sheets("Fac!").Cells(L_RS + 5, 9)

SN = Replace(SN, " ", "") 'on élemine les espaces potentiels

tab_SN = Split(SN, Chr(10)) 'on coupe tous les retours chariots pour obtenir les SN dans le tableau

For Each SN In tab_SN

SN = Replace(SN, " ", "")

ligne_dep = trouve("SN", CStr(SN)) 'cherche le numéro de série dans la feuille relevés compteurs, colonne SN

If ligne_dep = 0 Then 'si SN pas existant

col_dep = 2

For ligne_dep = 2 To 10000

If Cells(ligne_dep, 1) = "" Then Exit For

Next ligne_dep 'ligne_dep = 1ère ligne sans SN

Else

For col_dep = 2 To 4438 Step 4 'que les dates

If Cells(ligne_dep, col_dep) = "" Then Exit For 'cherche la première cellule date vide

Next col_dep

End If

UF_compteurs.Show

reprise: 'suite click JE valide dans UF

With Sheets("relevés compteurs")

Cells(ligne_dep, 1) = SN

Cells(ligne_dep, col_dep) = UF_compteurs.date_compt.Value

Cells(ligne_dep, col_dep + 1) = UF_compteurs.Compt_nb.Value

Cells(ligne_dep, col_dep + 2) = UF_compteurs.compt_coul.Value

Cells(ligne_dep, col_dep + 3) = UF_compteurs.scan_nb.Value + UF_compteurs.scan_coul.Value

End With

Unload UF_compteurs

Next SN

end sub

Private Sub UF_compteurs_activate()

UF_compteurs.UF_SN.Caption = "SN : " & SN

coucou2 = MsgBox("coucou3", vbOKOnly, "coucou3")

End Sub

Private Sub UF_compteurs_initialize()

UF_compteurs.UF_SN.Caption = "SN : " & SN

coucou2 = MsgBox("coucou4", vbOKOnly, "coucou4")

End Sub

************ dans code de l'UF* (complet ici) _ la sub Label6_Click se lance elle**********

Private Sub UF_compteurs_activate()

UF_SN.Caption = "SN : " & SN

coucou = MsgBox("coucou", vbOKOnly, "coucou")

End Sub

Private Sub UF_compteurs_initialize()

UF_SN.Caption = "SN : " & SN

coucou2 = MsgBox("coucou2", vbOKOnly, "coucou2")

End Sub

Private Sub Label6_Click()

UF_compteurs.Hide

repriseLAouJEmeSUISarreter = True

End Sub

End Sub

Bonjour,

les sub ...Initialize() ou ...Activate() ne s'utilisent pas avec le nom réel de l'userform, simplement:

Private Sub UserForm_Initialize() ou Private Sub UserForm_Activate()

A+

Merci beaucoup! C'était tellement simple..

Rechercher des sujets similaires à "user form procedures initialize activate realisent pas"