XL 2013 Aide sur création d'une ListBox

pat90

XLDnaute Nouveau
Bonjour

Quelqu'un aurait peut être la patience et la gentillesse de me créer un exemple suite au fichier joint?
Mon but serait dans cet exemple que en cliquant sur le "commandButton"que j'ai nommer "1",qu'il vienne s'afficher dans ma ListeBox.
Et en cliquant plusieurs fois dessus, je puisse si besoin annuler la dernière saisie...et finalement tout effacer.
Je précise tout de meme que je suis débutant.

Bien à vous
Cordialement
Pat90
 

Pièces jointes

  • ESSAI_RENTRER-DES-NUMEROS.xlsm
    13 KB · Affichages: 29

pat90

XLDnaute Nouveau
Tu as mis le bouton "clear'....effectivement je l'avais demandé également en premiere instance du fil de discussion, donc il me resterais le bouton "effacer le dernier numéro cliqué "si par exemple je me trompe.....et pouvoir re saisir un nouveau numéro.
Autrement c'est parfait :):)super
 

pat90

XLDnaute Nouveau
Eh bien Bruno.....travail rondement mené...j'ai vraiment ce que j'attendais ,parce que j'ai cherché partout un exemple. En vain.
Je vais pouvoir continuer le code ,pour finaliser une partie de mon projet final.
Je te remercie pleinement, ainsi que les autres intervenants .
Cordialement .
Pat90
 

patricktoulon

XLDnaute Barbatruc
re
et ben dis donc
on va faire simple vous voulez bien
1° je prends donc ton userform et je lui met 36 boutons et dans leur tags je met"-"
(c'est pour les repérer dans le activate (voir pourquoi ci dessous après la capture)
Capture.JPG


jusque là rien de compliqué

2° maintenant je vire tout le code

maintenant je met ce code
VB:
Public WithEvents bt As MSForms.CommandButton
Dim cls() As New UserForm1
Public u As Object
Private Sub bt_Click()
    With bt
        If .Tag = "" Then
            u.ListBox1.AddItem bt.Caption: bt.Tag = u.ListBox1.ListCount - 1: .BackColor = &H8000000A
        Else
            With u.ListBox1
                .Value = bt.Caption
                .RemoveItem .ListIndex: bt.Tag = "": bt.BackColor = &H8000000F
             .ListIndex = -1
            End With
        End If
    End With
End Sub

Private Sub UserForm_Activate()
   Dim ctrl, i&
   For Each ctrl In Me.Controls
        If ctrl.Tag = "-" Then
            i = i + 1: ReDim Preserve cls(1 To i): Set cls(i).bt = ctrl: Set cls(i).u = Me: ctrl.Tag = ""
        End If
    Next
End Sub

c'est pas bien lourd vous en conviendrez

ben maintenant y a plus qu'a :p
demonstration

demo6.gif


ET ON PEUT L ENLEVER ET REMETTRE A L INFINI
 

Pièces jointes

  • ESSAI_RENTRER-DES-NUMEROS2 WAGADOUGOU .xlsm
    17.6 KB · Affichages: 4

pat90

XLDnaute Nouveau
Re bonjour Patrick
Excellent,mais..y'a toujours un mais.....(1)quand je rentre des numéros "exemple deux fois le 20....le premier s'affiche et en rentrant le deuxième ,le premier s'en va)...la ca va pas.
(2)quand tous les numéros ont étés cliqués on ne peux pas continuer à en rentrer à la suite......le but par la suite sera de créer une base de données suite a des sorties aléatoires de numéros compris entre 0 et 36.
(3)la liste doit être inversée......quand on rentre 1.2.3.4/l'affichage doit être 4.3.2.1 du haut vers le bas.
 

patricktoulon

XLDnaute Barbatruc
d'accord
pour ton (3) j'ai deja répondu
donc si je comprends bien
tu clique ca met le numero
tu reclique tout de suite ca t'envoie ballader
apres avoir mis un ou plusieurs autre numero tu revient sur un bouton qui a deja été mis et ca l'ajoute quand même
c'est bien ça ?
(pour moi c'est ok et réalisable)sans problème

mais problème comment cliquer sur le bouton pour supprimer par exemple le 22 quand il y a plusieurs 22 c'est le quel qui doit être supprimé (tu vois ou je veux en venir)
;)
 

pat90

XLDnaute Nouveau
Résumons
**Je clique 19...il s'affiche ....je re clique 19 l'autre disparait.
Donc par définition.....en faisant les essais....quand j'ai grisé tous les numéros..........ils s'efface un par un au fur et à mesure que je continue.Le but c'est qu'ils restent tous.

"""apres avoir mis un ou plusieurs autre numero tu revient sur un bouton qui a deja été mis et ca l'ajoute quand même """Réponse non

Pour ton text en gras......y'a pas à se poser la question de quel 22.....ce que je désirerais...c'est par un bouton "effacer simplement le dernier numéros que j'aurais saisi par erreur(en haut de la liste.
Ce que j'ai specifié dans mon premier post....ainsi qu'un "clear total"
Cordialement.....
Si pas clair ,je suis la
 

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16