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 - Remplir une zone de texte par Userform [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    COMPTABLE
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 10
    Points
    10
    Par défaut VBA - Remplir une zone de texte par Userform
    Bonjour à tous,

    Je suis sous la version office 2013

    Voici mon projet:

    Je souhaiterai rentrer une liste d'ingrédient dans une zone de texte(shape)=> Quantité , mesure , ingredient (soit 3 cases a remplir) a l'aide d'un userform

    J'ai réussi a le faire sur le 3 premieres formes mais comment passer aux autres?
    Sachant que je pourrais remplir au maximum 15 ingrédients

    Mon projet est-il réalisable?
    Y a t-il une autre façon de procéder?


    test 2.xlsm

    Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour
    Voici, mais auparavant, il faut supprimer tous les "0" pour tous les objets compris entre 1 et 9 "01QTE" -->"1QTE", "01C" -->"1C" etc...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton1_Click()
    ' Ajouter un ingrédient
        For i = 1 To 15
            If ActiveSheet.Shapes(i & "QTE").TextFrame.Characters.Text = "" Then
                ActiveSheet.Shapes(i & "QTE").TextFrame.Characters.Text = TextBox1
                ActiveSheet.Shapes(i & "C").TextFrame.Characters.Text = ComboBox2
                ActiveSheet.Shapes(i & "I").TextFrame.Characters.Text = ComboBox1
                End
            End If
        Next i
    End Sub
    Cdlt

  3. #3
    Membre à l'essai
    Femme Profil pro
    COMPTABLE
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Je vous remercie pour votre réponse

    La fenetre se ferme aprés la 1ere saisie c'est normal?
    Je vais essayer d'y ajouter inputbox

  4. #4
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Si vous ne voulez pas qu'elle se ferme recopiez ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton1_Click()
    ' Ajouter un ingrédient
        For i = 1 To 15
            If ActiveSheet.Shapes(i & "QTE").TextFrame.Characters.Text = "" Then
                ActiveSheet.Shapes(i & "QTE").TextFrame.Characters.Text = TextBox1
                ActiveSheet.Shapes(i & "C").TextFrame.Characters.Text = ComboBox2
                ActiveSheet.Shapes(i & "I").TextFrame.Characters.Text = ComboBox1
                UserForm_initialize
            End If
        Next i
    End Sub
    et ajoutez celui-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub UserForm_initialize()
        ComboBox1.Text = ""
        ComboBox2.Text = ""
        TextBox1.Text = ""
    End Sub
    Cdlt

  5. #5
    Membre à l'essai
    Femme Profil pro
    COMPTABLE
    Inscrit en
    Novembre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2014
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    C'est parfait


    Merci beaucoup

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/04/2007, 15h21
  2. [VBA] mettre une zone de texte en premier plan ?
    Par fellower dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/03/2007, 09h13
  3. Remplir une zone de texte par rapport à une checkbox
    Par beegees dans le forum Général JavaScript
    Réponses: 43
    Dernier message: 04/09/2006, 17h01
  4. Remplir une zone de texte d'un état par vb
    Par WyLLoU dans le forum Access
    Réponses: 1
    Dernier message: 21/02/2006, 19h12
  5. Réponses: 3
    Dernier message: 21/06/2005, 11h37

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