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 :

Ajout de valeur dans un tableau [XL-2010]


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 : 29
    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 Ajout de valeur dans un tableau
    Bonjour ,

    Je vous expose aujourd'hui mon problèmes sur mon UserForm , tout d'abord je vous expose la partie de mon projet qui me pose problème . Je désire dans le tableau ci dessous saisie dans les textbox et combobox différentes informations ( N°Article , Designation , Lot , ect ... ) .
    Le fonctionnement des saisie est le suivant :

    Nom : 656861Capture.png
Affichages : 200
Taille : 44,0 Ko

    Le N°Article ( PF25616) nous renvoie directement la Désignation dans la case de droite lors de la saisie(S) du N°Article dans la liste . Le Numéro du Lot ( 845F545) , L'unité (PAL3) et la Quantité (23) sont également saisie (S) par l'utilisateur . Jusque là aucun problèmes tout fonctionne bien . Là où cela ce corse est lorsque je veut ajouter le tout dans le tableau du dessous en appuyant sur le bouton Add , j'ai essayer de nombreuse chose en vin , je vous met à disposition mon code ainsi que mon fichier excel pour les personne étant d'accord pour m'aiguiller sur la marche à suivre sachant que je veut pouvoir ajouter au maximum 10 lignes en dessous .
    En vous remerciant d'avance , Surinox
    Fichiers attachés Fichiers attachés

  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,

    voici une proposition
    elle nécessite de ne pas utiliser le remplissage de ta listbox par l'instruction "RowSource"

    il faut donc supprimer de ta procédure d'initialisation, la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox1.RowSource = "Tableau1"
    code à mettre dans le bouton ADD :
    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
    Private Sub CommandButtonArticle_Click()
    Dim ListeCtrl()
     
    With Me
        ' les valeurs de tes contrôles
        ListeCtrl = Array(.Cbo_Article.Text, .TextBoxDesign.Text, .TextBoxLot.Text, .Cbo_unite.Text, .TextBoxQuantite.Text)
        With .ListBox1
            ' ajoute d'une ligne
            .AddItem
            'remplissage des 5 colonnes
            For i = LBound(ListeCtrl) To UBound(ListeCtrl)
                .List(.ListCount - 1, i) = ListeCtrl(i)
            Next i
        End With
    End With
     
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    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
    Tout d'abord merci de ta réponse si rapide !

    Donc le problèmes est que le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox1.RowSource = "Tableau1"

    Me permet d'afficher le nom des colonnes sur l'userform
    Me permet de récupérer dans un tableau excel toute les info que je saisie .


    Donc je ne peut pas l'enlever dans la mesure où je doit récuperer le tout par la suite , il n'y à pas possibiliter de le garder ? :\

    Mais sinon dans le fond c'est exactement ça que je voudrais faire

  4. #4
    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,

    ma proposition n'est pas compatible, car remplir les headers imposent l'utilisation de RowSource

    on peut modifier ton initialisation ainsi :

    - on récupère uniquement les titres et on les met dans des labels juste au dessus de ton listbox
    ce qui évite d'utiliser les headers

    ensuite :

    - le remplissage du tableau dans excel peut s'effectuer à un autre moment, à toi de me dire le moment où ça serait le plus opportun


    si tu ne souhaites pas changer de structure, il faut réfléchir autrement ta mécanique car tu ne peux pas ajouter des lignes dans ta listbox :

    - au clic sur le bouton add, ça ajoute les données directement dans ton tableau excel
    - ensuite, rafraichir le userform pour que les données apparaissent

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    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
    Je veut en fait ajouter toute mes lignes et ensuite quand la personne à terminer elle clique sur valider donc l’idéal serrait sur le bouton valider au début non ?

  6. #6
    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
    Si j'ai bien compris :

    1) on met un label pour les titres des colonne
    2) on rempli la listbox à convenance, en appuyant à chaque fois sur le bouton ADD
    3) quand on a fini de remplir la listbox, on clique sur un bouton VALIDER qui va écrire les données du listbox dans ton tableau ?


    est-ce que le tableau sera toujours vide à l'étape 1, ou il contient déjà des données qui (avec le temps) augmenteront ?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/06/2015, 11h14
  2. [WD18] Ajouter des valeurs dans un tableau simple
    Par olihop dans le forum WinDev
    Réponses: 2
    Dernier message: 18/11/2014, 11h23
  3. Ajouter une valeur dans un tableau au clic
    Par schtroll dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 17/12/2012, 13h35
  4. Ajouter des valeurs dans un tableau
    Par Mrlaurent90 dans le forum BIRT
    Réponses: 4
    Dernier message: 09/03/2011, 10h55
  5. [Tableaux]Ajouter des valeurs dans un tableau
    Par Antoine1183 dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 03/04/2005, 13h41

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