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 :

VBA données vers Textbox


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut VBA données vers Textbox
    Bonjour Bonjour,

    Comme vos conseils d'hier soir m'ont permis de réussir une 1ère étape je reviens à nouveau poser une interrogation.

    J'ai un formulaire :UserForm1 composé de :
    • textobox1 (uniquement du texte)
    • checkbox2 : Isolant Thermique sur dalle
    • Checkbox3 : Carrelage collé

    Ainsi qu'un bouton de validation : CommandButton2

    Je souhaite que lorsque j'appuie sur ce bouton les données écrites ET choisies (checkbox2 ou 3) s'affichent dans :
    • La TextBox8 du formulaire formulaire_sys_sol



    Comment faire ????
    J'ai réalisé le code suivant mais cela ne fonctionne pas....


    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
    Private Sub CommandButton2_click()
     
    Me.TextBox1.Text = Formulaire_sys_sol.TextBox1.Text
     
    If UserForm1.checkbox1.Value = True Then
     
    formulaire_sys_sol.TextBox8.Text = "Isolant Thermique sur dalle"
     
    End If
     
    If UserForm1CheckBox2.Value = True Then
     
    formulaire_sys_sol.TextBox8.Text = "Carrelage collé"
     
    Unload Me
     
    End If
     
    End Sub

    Merci Merci

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    à tout hasard !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CommandButton2_click()
     
    Me.TextBox1 = formulaire_sys_sol.TextBox1
    If UserForm1.checkbox1.Value = True Then
      formulaire_sys_sol.TextBox8 = "Isolant Thermique sur dalle" 'vérifies le bon USF
    ElseIf UserForm1.CheckBox2.Value = True Then
      formulaire_sys_sol.TextBox8 = "Carrelage collé" 'vérifies le bon USF et tu as oublié un "."
    End If
     
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut
    Hey merci. l'idée est là. Par contre je m'étais trompé dans les noms des checkbox donc ça ne fonctionnait pas...

    le code devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CommandButton2_click()
    Me.TextBox1 = Formulaire_sys_sol.TextBox1
    If UserForm1.CheckBox2.Value = True Then
      Formulaire_sys_sol.TextBox8 = "Isolant Thermique sur dalle" 'vérifies le bon USF
    ElseIf UserForm1.CheckBox3.Value = True Then
      Formulaire_sys_sol.TextBox8 = "Carrelage collé" 'vérifies le bon USF et tu as oublié un "."
    End If
     End Sub

    Mais il y a un problème, si je n'arrive pas à mettre deux ou trois valeur dans cette textbox8.
    J'arrive à envoyer que les valeurs de la checkbox2..

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Mais il y a un problème, si je n'arrive pas à mettre deux ou trois valeur dans cette textbox8.
    Que veux-tu dire ? Les ChekBox peuvent-elles être cochées toutes les deux ?

    Faut-il concaténer les valeurs du textbox1 et des CheckBox cochées ?
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut
    En fait le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.TextBox1 = Formulaire_sys_sol.TextBox8
    Ne fonctionne pas..

    Pour le reste, oui les checkbox peuvent être à choix multiples mais je viens de le faire donc ça marche.


    C'est juste le texte de la textbox1 qui ne fait pas son job

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Qu'est-ce que "Formulaire_sys_sol", un USF ? Si oui, est-il ouvert ? Ne faudrait t-il pas passer par une variable "Public" ?
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut
    Yep C'est une Usf.

    Privé/public je ne connais pas..
    En fait j'ai commencé VBa hier

  8. #8
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Privé/public je ne connais pas..
    Si tu n'as pas de module, ajoutes en un, sinon sur le premier module ou celui que tu as ajouté, tu ajoutes une variable qui servira à l'ensemble du projet tant qu'elle ne sera pas modifiée ou que le projet sera ouvert.

    Dans le module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Option Explicit
    public mavariable as string'changes mavariable par ce que tu veux pourvu que ça ne soit pas un nom réservé, String pour la déclarer en texte
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut
    Comme convenu, voici le document légèrement modifié....
    J'espère qu'avec ça je pourrais parfaitement comprendre..
    Fichiers attachés Fichiers attachés

  10. #10
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bon ! ça ne va pas du tout tes codes car tu tournes en boucle sur des USF,
    Il faudrait que tu décomposes tes besoins car au stade de tes codes, je ne comprends rien, j'espère ne pas te vexer sachant que tu es débutant.
    Une commande ne peut donner une valeur à un controle d'un autre USF s'il est fermé.

    Bon courage
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut
    Oups !

    Je commence par quoi ?

    Le bouton insertion fait appel à un formulaire "formulaire_sys_sol"
    Celui-ci comporte de nombreuses données : Ces données que je remplirai me permettrons de créer des "lignes" de données sur ma page excel..

    Après je n'ai pas de base vba donc je passe mon temps sur le net pour bidouiller mon code et dès que ça marche j'ose plus toucher..

    so sorry

  12. #12
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    J'ai repris entièrement ton fichier afin de l'organiser (je le pense) plus proprement.
    Je ne me suis, pour l'instant, occupé que de l'USF "formulaire_sys_sol".

    A toi de réitérer ce que tu souhaites par la suite.

    PS : il me reste un doute, j'ai remplacé ton textbox de date par un DtPicker, tu auras peut-être un bug, s'il n'est pas installé sur ton PC. Je ne peux, pour l'instant, avoir accès au Calendar.

    Bonne fin de WE
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  13. #13
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut
    Bonjour casefayere ,

    Tout d'abord merci beaucoup pour ce document clean ! Seulement je me rends compte qu'il faut vraiment suivre une formation pour créer un code VBA..

    Comment je peux traduire ce code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For x = 1 To UBound(donnees)
      If donnees(x, 2) = ComboBox3 And Trim(donnees(x, 3)) = "Commercial" Then
        ComboBox4.AddItem donnees(x, 1)
      End If
    Histoire que je comprenne le procédé et puisse le réutiliser...

    Pour la suite du "programme", je vous relance demain.. Je suis en mode révision ce soir...
    J'espère que ça ne pose pas de soucis !
    Merci encore et à demain !

  14. #14
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,

    ci-dessous le code avec les explications :
    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
    Private Sub ComboBox3_Change()
    ComboBox4.Clear 'on réinitialise les combo4 et combo5 à chaque changement de combo3
    ComboBox5.Clear
    For x = 1 To UBound(donnees, 1) 'on fait une boucle de 1 à la plus grande dimension du tableau "donnees"
      'ci-dessous, je m'assure que la 2ème colonne du tableau de donnees soit egale au combo3 et 
      'que la 3ème colonne du tableau sans les espaces éventuels inutiles (tu en avais), est égale à "Commercial"
      If donnees(x, 2) = ComboBox3 And Trim(donnees(x, 3)) = "Commercial" Then
        ComboBox4.AddItem donnees(x, 1) 'on ajoute un item à la combo si la condition est respectée
      End If
    Next x 'on incrémente x de 1 et on continue jusqu'aux dernières valeurs du tableau
    'ci-dessous même principe que ci-dessus mais pour la combo5 avec "Applicateur"
    For x = 1 To UBound(donnees, 1)
      If donnees(x, 2) = ComboBox3 And Trim(donnees(x, 3)) = "Applicateur" Then
        ComboBox5.AddItem donnees(x, 1)
      End If
    Next x
     
    End Sub
    A demain

    PS : je préfère traiter les données en passant par les tableaux car je ne sais pas si ta feuille en contiendra beaucoup (méthode plus rapide)
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  15. #15
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut
    Bonjour Bonjour,

    J'ai compris le fonctionnement donc c'est déjà un bon début..
    Cependant quelle formule dois-je utiliser pour identifier le "text" de la combobox6 et lancer l'userform 1 / 3 ou 4 ?

    Le principe est : je clique sur le bouton 1 : et l'userform1/3 ou 4 se lance en fonction des données de la combobox 6 "MI neuve, logements, renov"..


    C'est plus facile à comprendre avec le fichier..
    Tenez moi au courant..

    Merci
    Fichiers attachés Fichiers attachés

  16. #16
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir, on va avancer doucement, regardes ce que je te propose, à la place du combobox6 (plus besoin de bouton), il suffit d'utiliser les "OptionButton" qui selectionnent les pages d'un MultiPage, remplaçant les autres USF

    fichier joint

    Bonne soirée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  17. #17
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut
    Bonjour !

    Simplement pour dire que je trouve la nouvelle config vraiment énorme !
    Je ne savais même pas que l'on pouvait faire ça..

    Juste une question cependant,
    comment je dois interpréter le MP1 ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub OptionButton1_Click()
    Me.MP1.Value = 0
    End Sub
    C'est juste cela qui m'intrigue vraiment..

    La finalité de cette userform "formulaire_sys_sol" est de générer automatique des lignes de textes puis graph. Mais nous n'en sommes pas là.

    Cependant, si j'obtiens les informations sur ma multipages, il sera possible d'utiliser les informations sélectionner vers une cellule ?
    Si oui, dans ce cas la textbox8 "caractéristique" n'est plus nécessaire.

    Merci beaucoup de prendre autant de temps..

  18. #18
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    content que ça te plaise.
    MP1 est le nom que j'ai donné au MultiPage
    selectionne la page 0 de MP1 sachant que les numéros de page commencent à 0
    Cependant, si j'obtiens les informations sur ma multipages, il sera possible d'utiliser les informations sélectionner vers une cellule ?
    bien sur
    Si oui, dans ce cas la textbox8 "caractéristique" n'est plus nécessaire.
    je ne connais pas ton but donc je ne sais pas
    La finalité de cette userform "formulaire_sys_sol" est de générer automatique des lignes de textes puis graph. Mais nous n'en sommes pas là.
    Pour ça, il faudra ouvrir une nouvelle discussion
    Si pour l'instant, le problème est résolu, jettes un oeil sur ma signature

    Bon courage,
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  19. #19
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Par défaut
    Un grand merci pour toute cette aide !

    Je vais désormais créer un autre post

    merci à vous et à bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ListBox données vers TextBox
    Par UDSP50 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/02/2015, 17h59
  2. Réponses: 0
    Dernier message: 18/08/2010, 12h43
  3. [XL-2007] Recuperation de données de cellule vers textbox selon condition
    Par dodo28 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/08/2009, 15h45
  4. Réponses: 1
    Dernier message: 29/01/2007, 19h22

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