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 :

Tableau dans USerFOrm


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 49
    Par défaut Tableau dans USerFOrm
    Bonjour ,
    Acuellement Stagiaire on me demande via UserForm de créer un tableau sur USerForm qui me permettra de saisir des données qui créeront à la fin une facture , pour être plus clair voilà le problème , j'aimerais implanter un tableau ( 10 lignes et 5 colonnes ) dans un UserForm afin de saisir des données pour les renvoyez sur une feuille excel par la suite pour à la fin l'imprimer, seul soucis impossible de savoir comment faire un tableau me permettant de saisir des données qui pourrais être renvoyer sur une feuille excel.

    En vous remerciant d'avance !
    Surinox

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    à la bonne franquette !

    chaque cellule de ton tableau est un Textbox ... c'est encore la solution la plus simple et portable selon les versions
    tu peux ajouter des labels pour les noms de colonnes et de lignes si t'en a besoin


    sinon, il y a la solution du contrôle Listviews, mais c'est usuellement utilisé pour afficher des données plutôt que de les récolter pour les restituer dans Excel ... perso je n'ai jamais essayé
    http://silkyroad.developpez.com/VBA/ListView/

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Salut,

    Les textbox + combobox font bien l'affaire, sinon tu peux également utiliser une ListView comme le dit joe, sinon moi ce que je fais parfois c'est :
    - 5 textbox/Combobox correspondant à tes colonnes
    - une ListBox composée de 5 colonnes

    Pour modifier une ligne, tu la sélectionnes dans la ListBox, ça remplit les 5 textbox/combobox avec les valeurs de la ligne sélectionnée, et quand tu changes ça change en direct dans la ListBox.

    En gros, tu as la liste qui te sert de stockage des données/consultation et les textbox et combobox (et autres) qui te servent à l'édition.

    Quentin

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 49
    Par défaut
    Le problèmes avec les TextBox est que si je dois avoir plusieurs article à saisir comment faire pour savoir quelles sont les lignes remplis et quelles sont les lignes à renvoyer à la feuille excel :\

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Tu as besoin de 10 lignes exactement et tu dois juste les compléter, ou chaque ligne correspond à un achat, par exemple, et donc tu peux en avoir 3 comme 30 ?

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 49
    Par défaut
    j'ai besoin de 10 lignes exactement voici un apperçu de ce que ça donne avec des textbox ect :

    http://img11.hostingpics.net/pics/646029Capture.png

    le soucis c'est il va saisir les valeur mais comment faire pour retourner correctement ces mêmes valeurs dans des cases spécifiques d'une feuille excel dans le but de faire une facture ?

  7. #7
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Un exemple de ce que tu peux faire :
    Tout d'abord, crée ta liste sur excel avec 5 colonnes et un certain nombre de lignes, transforme-le en tableau (insertion/tableau) et laisse-le appelé Tableau1.
    Ensuite, crée ton UserForm avec 5 textboxes (tes 5 colonnes) appelées de textbox1 à 5 + une listbox assez grande pour les 5 colonnes



    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
    45
    46
    Dim MàJListe As Boolean
     
    Private Sub Userform_Initialize()
     
    ListBox1.RowSource = "Tableau1"
    ListBox1.ColumnCount = 5
    ListBox1.ColumnHeads = True
     
    ListBox1.ListIndex = 0
    MàJListe = True
     
    End Sub
     
    Private Sub ListBox1_Change()
    If ListBox1.ListIndex = -1 Then
        TextBox1 = ""
        TextBox2 = ""
        TextBox3 = ""
        TextBox4 = ""
        TextBox5 = ""
    Else
        MàJListe = False
        TextBox1.Text = ListBox1.List(ListBox1.ListIndex, 0)
        TextBox2.Text = ListBox1.List(ListBox1.ListIndex, 1)
        TextBox3.Text = ListBox1.List(ListBox1.ListIndex, 2)
        TextBox4.Text = ListBox1.List(ListBox1.ListIndex, 3)
        TextBox5.Text = ListBox1.List(ListBox1.ListIndex, 4)
        MàJListe = True
    End If
    End Sub
     
    Private Sub TextBox1_Change()
    If MàJListe = True Then Range("Tableau1").Cells(ListBox1.ListIndex + 1, 1) = TextBox1.Text
    End Sub
    Private Sub TextBox2_Change()
    If MàJListe = True Then Range("Tableau1").Cells(ListBox1.ListIndex + 1, 2) = TextBox2.Text
    End Sub
    Private Sub TextBox3_Change()
    If MàJListe = True Then Range("Tableau1").Cells(ListBox1.ListIndex + 1, 3) = TextBox3.Text
    End Sub
    Private Sub TextBox4_Change()
    If MàJListe = True Then Range("Tableau1").Cells(ListBox1.ListIndex + 1, 4) = TextBox4.Text
    End Sub
    Private Sub TextBox5_Change()
    If MàJListe = True Then Range("Tableau1").Cells(ListBox1.ListIndex + 1, 5) = TextBox5.Text
    End Sub
    Dis-moi si ça marche

  8. #8
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, il faudrait t'intéresser ( entre autres ) aux modules de classe pour tes TextBoxes
    , à OWC, si dispo pour versions récentes d'Excel.

  9. #9
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 49
    Par défaut
    Merci je vais essayer cela cette aprés midi , mais quelque chose m'embête , car on ma donner comme indication de mettre 10 lignes et si certaines lignes sont vides je ne dois pas les faires apparaitre dans le tableau excel ( donc en gros que la lignes n'apparaissent pas sur excel ) comment puis je m'y prendre à ce niveau là ?

    Re !

    Donc sa à l'air de marcher mise à part un petit soucis :

    ▬ Le premier survient quand rien n'est selectionner sa modifier le titre des colonnes :
    http://img11.hostingpics.net/pics/599146anstitre2.png


    ▬ J'en profite aussi pour voir avec toi grâce au tableau je dois remplir un bon de livraison comme cela :

    http://img11.hostingpics.net/pics/670813Capturem.png

    Donc admettons qu'il y ai 3 lignes de compléter , il faut qu'il y ai 3 lignes qui s'ajouter a la suite pour accueillir les données , je connais la ligne à écrire :
    Rows(3).Insert Shift:=xlDown

    ( Lot | Unité | quantité ) mais du coup comment savoir quelles sont les lignes remplis sur le UserForm pour savoir combien de ligne ajouter et enfin comment ajouter les valeurs saisie sur UserForm dans ces mêmes lignes ?


    je sais que j'en demande beaucoup mais je n'ai rien vue sur le VBA \Excel en première année de BTS système numérique du coup j'ai réussie à m'en sortir pour la saisie des champ Expediteur \ Destinataire \ Date \ Heure \ N° Remorque . Mais pour la suite c'est la grosse panne


    PS : Le fichiers ci joint :

    Test Menu = ce que j'ai fait depuis le début
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Tableau dans userform
    Par cemmel dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/05/2013, 19h30
  2. problème tableau dans userform
    Par madfox48 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 06/12/2012, 11h35
  3. [XL-2007] Tableau dans Userform VBA Excel
    Par fleur_d_eden dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 29/05/2012, 10h47
  4. Tableau dans userform pour remplacer Spreadsheet
    Par polkovak dans le forum VB.NET
    Réponses: 0
    Dernier message: 29/09/2011, 09h53

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