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.
@+

1 réponse

  1. 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