Utilisation d'un textBox a l'exterieur du sub

Bonjour a tous, petite question toute simple: Est-ce qu'on peut sauvegarder par une variable le contenu d'un textbox d'un UserForm et l'utiliser dans un autre sub?

Bonjour,

Tu peux déclarer la varible "ValTxt" (par exemple)

Dans ton USF, tu lui donnes la valeur de ton TextBox

Cependant, il te faut déclarer cette variable dans un module standard (type Module1), et non dans la feuille de ton USF

Edit, j'ai oublié de préciser

Décaler cette variable en "Public"

Tu pourras ensuite l'utiliser à souhait...

Une autre solution, tu peux insérer un nom (Insertion/Nom/Définir), et donner à ce nom la valeur de ton TextBox...

Bref, au choix

Bon W-E

salut! Je ne suis pas encore tres habile en VBA, declarer la varibale en public, je fais ca ou? juste avant la ligne? Mon userForm est Prive, est-ce que je peux le mettre public ?

Mon sub UserForm ne semble pas aime que je ne declare pas la variable. J'ai declare la variable dans un autre sub, celui ou je veux rapeler son contenu. Est-ce que c'est ce que tu veux dire?

Bonsoir Capucin le forum

Capucin tu n'as pas lu la réponse de Cousinhub, il te dis de déclarer en public une variable dans un module

Donc tu ajoutes un module( là ou tu ajoutes les userforms etc au lieu de userform tu choisis module) et là tu déclares ta Variable Var en public var as ??? si c'est un sting tu mets public var$

et ensuite des que ta variable aura une valeur tu pourras la réutiliser dans le classeur jusqu'à la fermeture du classeur

a+

Papou

Salut Papou , j'ai creer un module et j'ai mis ce qui suit dedans.

Dis-moi si ca dois ressembler a ca.

Je rapelle mon objectif: recuperer le contenu d'un textbox d'un userForm. (qui se trouve ailleur). Quand on dit public, c'est qu'on ne met pas Private Sub? faut-il mettre Public Sub?

Sub essaiVariable ()          'essai de recuperation de textBox d'un userForm

Dim nom$
MsgBox ("Le nom est: " & nom)
End Sub

Re-,

Et merci Papou pour le complément d'informations...

Pour déclarer ta variable en String dans un module, tu écris ceci en haut d'un module standard :

Public MaVar As String

Par contre, cette variable ne sera valable que le temps d'édition de ton Userform

Il vaut mieux passer par un nom défini, style :

Fermeture de ton USF

Private Sub CommandButton1_Click()
ActiveWorkbook.Names.Add Name:="MaVariable", RefersToR1C1:=Me.TextBox1
Unload Me
End Sub

Et pour récupérer la valeur :

Sub essai()
MsgBox [MaVariable]
End Sub

Et il n'est nul besoin de déclarer la variable

Bonne soirée

Je comprend un peu mieux tout ca! Je vais faire des test.

Je t'envoi ta recompense Merci!

Bon week end a tout les deux!

J'ai reussi a recuperer le nom de ma variable venant d'un UserForm, et le faire afficher dans un MsgBOX dans le sub qui suit. Par contre l'enregistrement ne semble pas se faire, est-ce que la variable "rep" est encore utilisable apres mon MsgBox?

Sub save() 'sauvegarde le fichier intel hex dans le repertoire

      'version Papou et Banzai qui met tout le tableau dans une seule colonne (necessaire pour format intel hex) et enregistre
MsgBox [rep]             'affiche le nom du fichier venant du UserForm

  adr = ThisWorkbook.Path
  If rep = "" Then Exit Sub
  Application.ScreenUpdating = False
  Feuil3.Copy
  Rows("1:2").DELETE
  Columns(1).Insert
  With Range("A1:A" & Range("B" & Rows.Count).End(xlUp).Row)
    .Formula = "=RC[1]&RC[2]&RC[3]&RC[4]&RC[5]&RC[6]&RC[7]&RC[8]&RC[9]&RC[10]&RC[11]&RC[12]&RC[13]&RC[14]&RC[15]&RC[16]&RC[17]&RC[18]&RC[19]&RC[20]&RC[21]&RC[22]"
    .Value = .Value
  End With
  Range(Range("B1"), Cells(1, Columns.Count)).EntireColumn.DELETE
  Rows(Range("A" & Rows.Count).End(xlUp).Row + 1 & ":" & Rows.Count).DELETE
  ActiveWorkbook.SaveAs adr & "\" & rep & ".Hex", FileFormat:=xlText
  ActiveWorkbook.Close 1

End Sub

Bonjour,

Comme tu peux le remarquer, "rep" n'est pas une variable, mais un nom défini.

Tu dois donc lire la valeur du nom de cette façon :

[rep]

Bon Dimanche

J'ai applique cette nouvelle notion et ca fonctionne. Merci!

Rechercher des sujets similaires à "utilisation textbox exterieur sub"