transférer listbox1 vers listbox2 vers listbox...

stéphanie123

XLDnaute Nouveau
salut

j'ai réalisé un petit programme qui permet de transférer des données d'une listbox principal dans plusieurs autres listbox en cliquant sur le bouton ajouter

mon petit souci;
quand j'ajoute la valeur sélectionnée , celle-ci est bien dirigée dans la listbox2
mais je ne sais pas comment dire pour que si je click sur le bouton ajouté
et que la listbox2 et pleine alors mettre la valeur dans la listbox3
ainsi de suite jusqu'à 9 listbox à remplir


voici mon programme qui fonctionne pour la valeur de la listbox1 vers la listbox2.
Code:
Private Sub Boutajouter_click()
Dim i As Integer
    With UserForm4

        'Pour chaque valeur de la liste 1
        For i = 0 To .Liste1.ListCount - 1
            'Si la valeur est sélectionnée
            If .Liste1.Selected(i) Then
                'On l'ajoute à la liste 2
                .Liste2.AddItem .Liste1.List(i)
                'On la supprime de la liste 1
                .Liste1.RemoveItem (i)
            End If
        Next i
        
    End With
End Sub
 

Roland_M

XLDnaute Barbatruc
Re : transférer listbox1 vers listbox2 vers listbox...

bonsoir

c'est faisable assez facilement seulement deux choses,
une combien en veux-tu maximum par list ?
deux ce serait mieux que tu joignes ton fichier !
ce qui nous éviteraient de tout créer et de pouvoir vérifer !

Roland
 

stéphanie123

XLDnaute Nouveau
Re : transférer listbox1 vers listbox2 vers listbox...

bonsoir

c'est faisable assez facilement seulement deux choses,
une combien en veux-tu maximum par list ?
deux ce serait mieux que tu joignes ton fichier !
ce qui nous éviteraient de tout créer et de pouvoir vérifer !

Roland

salut,

voici l'exemple

IL faut renommer la base en adresse interne en feuil4 en ce moment elle est sur feuil2
pour que le programme se lance

j'en veux 9 par listes
 

Pièces jointes

  • HISTORIK.zip
    46.1 KB · Affichages: 121
Dernière édition:

Luki

XLDnaute Accro
Re : transférer listbox1 vers listbox2 vers listbox...

bonsoir stéphanie, roland, le fil

Tu peux essayer la correction ci-dessous.
J'ai limité les listes à 3 valeurs pour faire les test (base exemple trop petite!)
Vois si ça convient.
Code:
Private Sub Boutajouter_click()
Dim i As Integer
Dim ii As Integer
 
        'Pour chaque valeur de la liste 1
        For i = 0 To Liste1.ListCount - 1
            'Si la valeur est sélectionnée
            If Liste1.Selected(i) Then
            
        '====== correction Luki=========================
        'code pour passer d'une liste à l'autre ( liste 2 à liste 9)
        'Limité à 3 valeurs par liste pour les tests
            
                ii = 0
                For ii = 2 To 9
                'Debug.Print Controls("Liste" & ii).ListCount
                    If Controls("Liste" & ii).ListCount < 3 Then
                        'On l'ajoute à la liste ii
                        Controls("Liste" & ii).AddItem Liste1.List(i)
                        'On la supprime de la liste 1
                        Liste1.RemoveItem (i)
                        Exit For
                    End If
                Next ii
           '========== fin correction Luki ===============
            
            End If
        Next i
        
End Sub
bonne nuit :)

Au fait : pas besoin de groupe "With" pour le Userform car ton code est dans la feuille de cet Userform.
Userform4.liste1 est inutile : liste1 est suffisant (pas de point devant!)
 
Dernière édition:

klin89

XLDnaute Accro
Re : transférer listbox1 vers listbox2 vers listbox...

Bonjour à tous,
Bonjour Luki, Roland_M, stéphanie123,

Sans remettre en cause tout le travail accompli, je fais une petite incursion dans ce post pour te diriger vers le fil ci-dessous où tu découvriras la merveilleuse démonstration de notre ami Thierry.

Il utilise la technique du glisser-déplacer entre 2 listbox.

https://www.excel-downloads.com/threads/drag-drop-combo-box.2950/

Bon week-end à tous

klin89
 

stéphanie123

XLDnaute Nouveau
Re : transférer listbox1 vers listbox2 vers listbox...

bonsoir stéphanie, roland, le fil

Tu peux essayer la correction ci-dessous.
J'ai limité les listes à 3 valeurs pour faire les test (base exemple trop petite!)
Vois si ça convient.

C'est impécable sa marche merci luki

maintenant que la première partie de mon programme est résolu,
passons à la second partie,

une fois que l'on à saisi dans les listbox schémas 9S je voudrai connaitre la date du dernier test et la prochaine date,

si la liste2 à liste9 est non vide alors

comparer la liste2 à liste9 dans la feuille"base" colonne E et si la valeur est vrai alors copié la colonne "O" pour chaque valeur dans liste2 à liste9 non vide et coller de listeA à listeH

si la listeA à listeH est non vide alors

comparer la listeA à listeH dans la feuille "base" colonne D es si la valur est vrai alors calculer la prochaine date et coller de listeA1 à listeA8

voilà si quelqu'un peux m'aider


je glisse le programme qui permet de voir plus ou moins ce que je veux faire
celui ci est bourré d'erreur lorsque vous cliquez sur validé
 

Pièces jointes

  • Histrique1.zip
    44 KB · Affichages: 90

Luki

XLDnaute Accro
Re : transférer listbox1 vers listbox2 vers listbox...

Re Stéphanie,

Au vu de ton dernier post, je ne suis pas sûr d'avoir tout compris :eek:

  • J'ai l'impression que la finalité, c'est de créer un tableau dans ton userform.
  • Si c'est le cas, pourquoi ne pas utiliser une liste complète à n colonnes?
  • D'autre part, tu remplis les listes 2 à 9 avec une valeur par liste; juste pour les essais ou définitif?
  • Pourquoi passer par une collection pour remplir les listes?

En l'état de mes connaissances de ton projet ;), je verrais les choses comme ça:
Un Listbox peut avoir plusieurs colonnes mais n'en afficher qu'une, donc :
Tu remplis ta liste1 avec toutes les données dont tu as besoin pour générer le tableau de ton Uform; puis tu les ventiles dans les différentes colonnes.


Essaye de préciser la finalité de ton projet et on verra quelle solution adopter.
A bientôt :)
 
Dernière édition:

stéphanie123

XLDnaute Nouveau
Re : transférer listbox1 vers listbox2 vers listbox...

Re Stéphanie,
Essaye de préciser la finalité de ton projet et on verra quelle solution adopter.
A bientôt :)

salut luki

En faite le but rechercher est que à tout moment un responsable technique dans ma boite peut venir appeler un schémas 9S et savoir quand est ce à lieu le dernier essais et quand est ce aurra lieu le prochain

le choix d'avoir créer 9 listes est futille en faite je voulais que celui-ci peut appelé un maximum de schémas 9s pour savoir l'état des essais à faire,

maintenant je suis un véritable novice en la matière

je pense que mettre des listbox et un élément par listbox aller donner un bonne ergonomie au lecteur,

maintenant si tu as une autre idée et qu'elle peut faire cette tache d'une autre maniére alors je suis preneuse,
 

Luki

XLDnaute Accro
Re : transférer listbox1 vers listbox2 vers listbox...

Bonsoir Stéphanie

Je t'ai abandonnée à ton fichier ce weekend. Pas eu le temps de poursuivre. Désolé.

Je travaille sur ton fichier et je n'ai pas tout compris, je résume ce que je comprends.

Tu veux:
ComboSecteur = la liste filtrée des secteurs
comboUnité= la liste filtrée des unités
Liste1 =la liste filtrée des Schémas 9S

Et là c'est flou pour les listes suivantes :
Liste 2 à 9, par ex liste 2: juste le schéma ajouté ou la liste de toutes les machines (ou tag) concernées par ce schéma?

C'est sur cette partie que j'ai besoin de précisions, mais n'oublie pas que le jargon que tu utilises m'est totalement inconnu! Essaie de le faire dans des termes généraux, comme si tu expliquais ton boulot à un martien! ;)

A te lire
 

stéphanie123

XLDnaute Nouveau
Re : transférer listbox1 vers listbox2 vers listbox...

Salut luki,,

ce que je veux c'est pouvoir ajouter dans les différrentes listbox les schémas9S se trouvant dans la liste1
cela pour l'instant est fait,,

ensuite en cliquant sur le bouton valider cela me récupére pour chaque "schéma9S" se trouvant dans l'un des listbox de "schémas9S",
la date du dernier test colonne 0 de la base en feuil4 et l'inscrit dans les listbox "dernier test "
en même temps je voudrais afficher dans les listbox "prochaine date" la date des prochains test des schémas 9S se trouvant dans les listbox "schémas 9S"
la date doit être calculer grace à la périodicité colonne d de la base en feuil 4et la derniére date de test


et cela autant de fois qu'il y a des listbox "schémas 9S" dans les liste 2 à 9
pour autant de listbox "dernier test" et "prochain test"
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 902
Membres
101 834
dernier inscrit
Jeremy06510