Utiliser une variable venant d'un bouton private sub pour un UserForm

Bonjour à toutes et à tous,

Suite à de nombreux recherches sur le net, je n'ai pas trouvé ou pas compris comment utiliser une variable provenant d'un bouton Private.

J'ai un code d'un bouton private avec des variables ("x", iData et TiData) que j'aimerai utiliser dans mon UserForm...

J'ai essayé avec une déclaration Public tout en haut de mon private bouton mais rien ne fonctionne...

Voici ci-dessous les codes et photos :

Dans la feuille 1 :

Public iData As Variant
Public TiData As Variant
Public x As Long

Private Sub CommandButton5_Click()

'code ....

TiData = 4

For iData 1 to 4

Select Case iData
'''suite...

End Select

For x = 1 to 5000

Barreprogression.actualiser

Next x

Next

End Sub

Mon code de mon Userform qui est dans mon classeur :

Je n'arrive pas à récolter les valeurs ( x, iData et TiData )alors que je les ai déclarées en public dans mon private Sub.

Sub afficher()

'mets l'UserForm au milieu d'excel
'ce qui permet de garder l'UserForm actif lors d'un Appactivate

With barreProgression
  .StartUpPosition = 0
  .Left = Application.Left + (0.5 * Application.Width) - (0.5 * .Width)
  .Top = Application.Top + (0.5 * Application.Height) - (0.5 * .Height)
  .Show 0
End With

barreTexte = "Ouverture du fichier de données en cours..."
barre.Width = 0

End Sub

Sub Actualiser(taux As Integer)

Debug.Print "iData = " & iData ' = ici iData = Rien....

'If barre.Width < 302 Or barre.Width = 306 Then

barre.Width = barreTexte.Width * taux / 100

barreTexte = "Progression de la macro en cours " & taux & "%"

Debug.Print barre.Width
Debug.Print barreTexte.Width

'End If

'If taux = 100 Then Unload Me

DoEvents

End Sub

Sub FinUserForm()

Unload Me

End Sub

Si vous avez une solution, je vous remercie d'avance :) !

Bonjour,

Si vous avez déclaré vos variables publiques dans le module objet de votre UserForm, il faut les préfixer par le nom de votre UserForm ou les insérer dans un

With barreProgression

Bonjour,

je suis pas certain d'avoir compris, puis-je avoir un exemple svp ?

Merci

Autant pour moi.
Vous avez en fait déclaré vos variables publiques dans le module objet de la feuille 1. Pour y accéder, il faut les préfixer par l'objet correspondant à la feuille 1. Vous le trouverez avec l'éditeur Visual Basic. A priori, cet objet devrait être Feuil1. Il faut donc utiliser
Feuil1.iData
Feuil1.TiData

Re Thev,

Incroyable ça fonctionne, je n'aurai jamais pensé à ça !

Vraiment bravo et mille mercis !

Lorsque vous déclarez une variable publique dans un module objet : classeur, feuille ou formulaire, vous devez la préfixer par le nom du module objet qui est

Pour un classeur : ThisWorkbook

Pour une feuille : Feuil1, Feuil2, ....

Pour un formulaire : le nom du formulaire

Rechercher des sujets similaires à "utiliser variable venant bouton private sub userform"