Reporter des valeurs dans un zone de texte...

typhoon Messages postés 12 Statut Membre -  
 lami20j -
Bonjour,
Je voudrais réaliser un petit ecran de supervision avec vba d excel.
Donc je créé des userforms pour réaliser mon souhait.
Mais dans un userform je voudrais créer des zones de textes et lorsque l on rentrera des valeurs de dans, je voudrais que celle-ci soit reporté dans une certaine cellule dans la feuille excel. Et j'aimerai aussi réaliser le chemin inverse c 'est a dire rentrer des valeurs dans excel et apres quelle soit reporter dans une zone de texte dans un userform. Pouvez vous m'aider je vous en remercie.
@+
A voir également:

1 réponse

lami20j
 
Salut,

Pour le 1er cas :

1 "lorsque l on rentrera des valeurs de dans, je voudrais que celle-ci soit reporté dans une certaine cellule dans la feuille excel."

On a une zone de texte qu'on l'appelle txtoutput

La zone de texte reponds à plusieurs événements parmi les quels on a
change

Private Sub txtoutput_Change()
Range("A1")=txtoutput.Text ' il s'agit de la cellule dont la feuille est
' active
End Sub

Pour choisir un emplacement précis c'est mieux d'utiliser :

Application.Workbooks("TonFichier.xls").Worksheets("TaFeuille").Range("A1")

Pour le 2ème cas c'est un peu plus compliquer.

2. "réaliser le chemin inverse"

D'abord il faut créer une macro qui t'ouvre ta UserForm et qui te permets
aussi d'avoir access à ta feuille Excel

Dissons que ta UserForm s'appelle frmPage

Tu crées un module

Sub affichePage()
frmPage.Show(vbModeless) ' la constante vbModeless permet l'access
' dans Excel
End Sub

Ta zone de text s'appellera txtinput

Tu vas dans les événements de la feuille dont tu veut récuperer la valeur à
écrire dans txtinput et tu choisis

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
frmPage.txtinput.Text=Range("a2")
End Sub

Cependant avec le 2ème cas tu auras un petit problème.
Quelque soit les modifications que tu feras dans la feuille la valeur affichée
dans txtinput sera toujours la cellule choisi (notre exemple range("a2"))

A+

lami20j
1