IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Affecter une valeur à une cellule puis à un TextBox sur un formulaire.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut Affecter une valeur à une cellule puis à un TextBox sur un formulaire.
    Bonjour à tous,

    Je voudrais écrire par une formule sur une feuille exemple textbox1 est égale à A1 et que sur mon USERFORM1 textbox1 prenne la valeur de A1.

    En gros comment écrire le code sur la feuille et transmettre la donnée sur l'USERFORM en showModal false.

    merci

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    et dans la mesure où ton UserForm a été chargé et où Valeur est ce que contient ta cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserForm1.TextBox1.Text = Valeur
    Ce ne sera pas une "formule", mais du code (instruction) VBA à mettre dans l'évènement de ton choix.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut
    Merci pour ta réponse très rapide, mais:

    Sur mon box j'avais mis un code lorsqu'il change, mais mon code ne se réalise pas!!

    comme si l'Userform est inactif?

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Montre donc le code que tu as écrit (toute la procédure évènementielle) pour écrire sans la textbox de ton UserForm et celui que tu as écrit (toute la procédure également) pour vérifier que la modification a été effectuée.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut
    Voici le code de ma feuille:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     
    Cells(ActiveCell.Row, 1).Select
      ActiveCell.Offset(0, 2).Select
      UserForm1.TextBox16.Text = ActiveCell
     
      If ActiveCell = "" Then GoTo fin1
      ActiveCell.Offset(0, 1).Select
    UserForm1.ComboBox4.Text = ActiveCell
     
    fin1:
     
    End Sub
    Et sur mon userform:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Private Sub TextBox16_Change()
    Sheets(ComboBox4.Text).Select
        If ComboBox4 = "" Then GoTo fin1
       For Each c In Sheets(ComboBox4.Text).Range("b:b")
            If c.Value = Label95 Then
             c.Select
             Exit For
            End If
     
        Next c
    ' on vide les éléments
     
     
        TextBox2 = ""
        ComboBox3 = ""
        ComboBox2 = ""
        ComboBox5 = ""
        TextBox11 = ""
        ComboBox1 = ""
        TextBox6 = ""
        TextBox5 = ""
     
       ' inscription
        ActiveCell.Offset(0, -1).Select
        Label94 = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
        Label95 = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
        TextBox2 = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
        'ComboBox4 = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
        ComboBox3 = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
        ComboBox2 = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
        ComboBox5 = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
        TextBox11 = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
        ComboBox1 = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
     
    fin1:
    Le code est simple mais pas d'action. je pense qu'il faut rendre l'userform actif, mais comment

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    On va le savoir, si tu l'as ou non chargé :
    Contente-toi de ceci :
    sur ta feuille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      UserForm1.TextBox16.Text = "toto"
    msgbox userform1.textbox16.text
    End Sub
    et dans UserForm1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox16_Change()
      msgbox "oui : en plein changement"
    End Sub
    et rien d'autre.
    Et dis-nous ce qui s'affiche.

    Et si tu as d'abord "oui : en plein changement", puis "toto", c'est que tout va bien de ce côté là et que c'est le reste (mais plus rien à voir avec ta question première) qui ne va pas.
    Si rien ne s'affiche, c'est que UserForm1 n'est pas chargé
    Test que tu aurais dû avoir le réflexe de faire avant tout.

    PS : autre question : te serais-tu servi d'un "On Error Resume Next" ? (qui occulterait une erreur...)

    EDIT : et tu devrais t'intéresser un peu à ce qu'est l'argument Target, plutôt que de te lancer dans un micmac pour le moins curieux, avec tes "select" (peu recommandables, d'ailleurs)

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/04/2010, 13h27
  2. affecter une valeur de cellule à une variable
    Par mlrdeni dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/10/2007, 10h29
  3. Réponses: 1
    Dernier message: 19/04/2007, 10h14
  4. [VBA]Affectation d'une valeur à une cellule par une fonction
    Par lallougri dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/02/2006, 14h24
  5. [XSL] N'afficher qu'une fois une valeur + fusionner cellule
    Par DidRocks dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 05/09/2005, 09h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo