[RESOLU] : une folle listbox

Marti Marti

XLDnaute Occasionnel
Bonjour Forum
Bonjour a tous et a toutes
cher membres ici dans ce genial forum j'ai trouvé ce fichier ci-joint au dessous qui contient une listbox nommee (choixnom) .. j'ai essaye de jouer avec les codes dedans pour resoudre et comprendre mon probleme mais enfin " j'ai pas reussi " .. je veux faire 2 choses :
1.lorsque j'ecris le classement du nom et prenom et classe dans les colonnes A,B,C ..(marti1,marti2,marti3,marti4...etc)
aussi dans colonne B (rose1,rose2,rose3,rose4,rose5....etc) ainsi que pour colonne C (classe1,clase2,...etc)..
si je clique sue le bouton (affiche) qui affiche l'userform.. maintenant je vais trouver la malheure car dans cette listbox
je trouve le classement que j'ai fais dans ma feuille de base de donnees (BD) est devenu comme ca (marti1,marti10,marti100,marti1000...etc)..
je veux que ma listbox affiche le classement exactement comme je l'ai fais dans (BD).
2.dans les codes de cet userform et aussi modules ..je trouve parfois le mot (BD) ecrit en majuscule et parfois en minuscule (bd) ..on admettant que je veux nommer ma base de donnee par exemple (DATABASE) est ce que je vais ecrire (database) dans le cas de minuscule ?? meme chose pour le mot ( ChoixNom) et (choixnom).
merci d'avance de m'aider pour realiser mon but et comprendre cette folle listbox qui va me rendre vraiment fou ..
cordialement
MARTI MARTI
 

Pièces jointes

  • LISTBOX1.xlsm
    60.8 KB · Affichages: 33
  • LISTBOX1.xlsm
    60.8 KB · Affichages: 40
  • LISTBOX1.xlsm
    60.8 KB · Affichages: 42
Dernière édition:

Bebere

XLDnaute Barbatruc
Re : une folle listbox

bonjour Marti,Job
si tu prend l'habitude d'écrire les noms d'objets comme suit ChoixNom
ensuite si tu tapes choixnom et pas de faute,les majuscules apparaissent
pour les noms de feuilles pas de problèmes
dans un module standard déclare une variable publique
exemple public Ws as Worksheet
ensuite set Ws=Worksheets("NomFeuille")
ensuite tu fais une recherche sur ("bd") dans le projet et tu changes par ws à chaque fois que ("bd") est trouvé

essaye ce code à compléter
Code:
Sub majChoixNom()
Dim Gauche As String, Droite As String

    Me.choixnom.Clear
    If Me.Lettre = "Tous" Then
      For Each c In Range(Sheets("BD").[A2], Sheets("BD").[A65000].End(xlUp))
     Gauche = Mid(c, 1, InStr(c, " ") - 1): Droite = Mid(c, InStr(c, " ") + 1)
       Me.choixnom.AddItem Gauche & Format(Droite, "0000")
      Next c
    Else
      For Each c In Range(Sheets("BD").[A2], Sheets("BD").[A65000].End(xlUp))
        If Left(c.Value, 1) = Me.Lettre Then Me.choixnom.AddItem c
      Next c
    End If
End Sub
 

Marti Marti

XLDnaute Occasionnel
Re : une folle listbox

bonjour Marti,Job
si tu prend l'habitude d'écrire les noms d'objets comme suit ChoixNom
ensuite si tu tapes choixnom et pas de faute,les majuscules apparaissent
pour les noms de feuilles pas de problèmes
dans un module standard déclare une variable publique
exemple public Ws as Worksheet
ensuite set Ws=Worksheets("NomFeuille")
ensuite tu fais une recherche sur ("bd") dans le projet et tu changes par ws à chaque fois que ("bd") est trouvé

essaye ce code à compléter
Code:
Sub majChoixNom()
Dim Gauche As String, Droite As String

    Me.choixnom.Clear
    If Me.Lettre = "Tous" Then
      For Each c In Range(Sheets("BD").[A2], Sheets("BD").[A65000].End(xlUp))
     Gauche = Mid(c, 1, InStr(c, " ") - 1): Droite = Mid(c, InStr(c, " ") + 1)
       Me.choixnom.AddItem Gauche & Format(Droite, "0000")
      Next c
    Else
      For Each c In Range(Sheets("BD").[A2], Sheets("BD").[A65000].End(xlUp))
        If Left(c.Value, 1) = Me.Lettre Then Me.choixnom.AddItem c
      Next c
    End If
End Sub
Bonjour BEBERE
mille fois merci pour l'explication et pour ta suggestion.. c'est tres gentille de votre part
j'ai essaye de completer avec ce code mais le probleme reste toujours..marti1,marti10,marti100.....Tandisque je veux qu'il s'affiche marti1,marti2,marti3,marti4,marti5,,,,,etc
cordialement
MARTI
 

Pièces jointes

  • LISTBOX 2.xlsm
    169.2 KB · Affichages: 20

job75

XLDnaute Barbatruc
Re : une folle listbox

Re, salut Bebere,

Pour le problème du tri utiliser la commande Convertir :

Code:
Private Sub UserForm_Initialize()
For b = 1 To 27: Set Btn(b).GrLettres = Me("B_" & b): Next b
Application.ScreenUpdating = False
With Sheets("BD")
  .[B:C].Insert: .[B:C].Clear 'insertion de 2 colonnes auxiliaires
  .[A:A].TextToColumns .[B1], xlDelimited, ConsecutiveDelimiter:=True, Space:=True
  .[A:I].Sort .[B1], xlAscending, .[C1], , xlAscending, Header:=xlYes 'tri sur 2 colonnes
  .[B:C].Delete
End With
Application.ScreenUpdating = True
'-- Liste des noms
Me.Lettre = "Tous"
majChoixNom
ligne = 2
majFiche
End Sub
Fichier joint.
 

Pièces jointes

  • LISTBOX(1).xlsm
    59.6 KB · Affichages: 29
  • LISTBOX(1).xlsm
    59.6 KB · Affichages: 26
  • LISTBOX(1).xlsm
    59.6 KB · Affichages: 18

job75

XLDnaute Barbatruc
Re : une folle listbox

Re,

Ceci est beaucoup mieux (surtout s'il y a plusieurs espaces dans les noms) :

Code:
Private Sub UserForm_Initialize()
For b = 1 To 27: Set Btn(b).GrLettres = Me("B_" & b): Next b
With Sheets("BD")
  .[A:A].TextToColumns .[AA1], xlDelimited, ConsecutiveDelimiter:=True, Space:=True
  .UsedRange.Sort .[AA1], xlAscending, .[AB1], , xlAscending, Header:=xlYes 'tri sur 2 colonnes
  .[AA:AA].Resize(, .Columns.Count - 26).ClearContents
  With .UsedRange: End With 'actualise la barre de défilement horizontale
End With
'-- Liste des noms
Me.Lettre = "Tous"
majChoixNom
ligne = 2
majFiche
End Sub
Fichier (2).

A+
 

Pièces jointes

  • LISTBOX(2).xlsm
    59.7 KB · Affichages: 14
  • LISTBOX(2).xlsm
    59.7 KB · Affichages: 20
  • LISTBOX(2).xlsm
    59.7 KB · Affichages: 26

Marti Marti

XLDnaute Occasionnel
Re : une folle listbox

Salut maitre JOB75
merci pour l'aide de resoudre ce probleme
la deuxiemen version est biensure plus mieux..
il reste un petit probleme quand on change dans l'userform les nom avec les deux boutons ( suivant - precedent ) .. on revient au tri (marti1,marti10,marti100....etc)
merci d'avance pour l'aide
cordialement
MARTI
 

Pièces jointes

  • suivant precedent.jpg
    suivant precedent.jpg
    65.8 KB · Affichages: 14
Dernière édition:

Marti Marti

XLDnaute Occasionnel
Re : une folle listbox

Maitre JOB75
plus loin de ce fichier degoutant et qui va me rendre fou .. est ce que je peux refaire un autre nouveau fichier dont on insere les choses que j'ai besoin d'eux indiques par des fleches rouges ( une listbox et des textboxs qui affichent les detail du nom choisi dans la listbox et surtout surtout la palette des lettres pour que je puisse tapé la lettre de recherche )..
ci-joint ci dessous une image des choses qui m'interessent et aussi un nouveau fichier vierge comme planning de ce que je voudrai faire
mille fois merci d'avance
 

Pièces jointes

  • Classeur1.xlsm
    28.3 KB · Affichages: 21
  • Classeur1.xlsm
    28.3 KB · Affichages: 26
  • Classeur1.xlsm
    28.3 KB · Affichages: 13
  • listbox.png
    listbox.png
    38.2 KB · Affichages: 15

job75

XLDnaute Barbatruc
Re : une folle listbox

Re,

Faudrait travailler un petit peu Marti Marti :rolleyes:

Je ne vois que b_validation_Click où l'on fasse un autre tri de la base.

Il suffit d'y utiliser la même méthode.

Fichier (3).

Bonne fin de soirée.
 

Pièces jointes

  • LISTBOX(3).xlsm
    58.4 KB · Affichages: 19
  • LISTBOX(3).xlsm
    58.4 KB · Affichages: 30
  • LISTBOX(3).xlsm
    58.4 KB · Affichages: 31

Marti Marti

XLDnaute Occasionnel
Re : une folle listbox

salut maitre JOB75
mille fois merci pour l'aide..merci pour tes propositions impeccables
j'essaye toujours de resoudre seul mes problemes mais malheureusement je n'arrive pas toujours a ma bonheur ..
merci maitre pour votre temps sacré pas seulement pour nous aider mais encore tes explications des codes qui sont vraiment des precieux lecons..
c'est bien resolu
cordialement
MARTI
mmmm.jpg
 
Dernière édition:

Marti Marti

XLDnaute Occasionnel
Re : une folle listbox

bonjour Job
Marti
pourquoi ne pas entrer des données qu'excel sait trier
question:elles doivent rester ainsi ces données
ma réflexion: nous essayons de faire quelque chose d'inutile

salut BEBERE
merci pour votre proposition
mes excuses j'ai pas fais attention et j'ai pas vu ton message .. tres mauvaise connexion
en tous cas c'est bien resolu par maitre JOB75
merci
cordialement
MARTI
 

Pièces jointes

  • merci.jpg
    merci.jpg
    51.4 KB · Affichages: 8
  • merci.jpg
    merci.jpg
    51.4 KB · Affichages: 30
  • merci.jpg
    merci.jpg
    51.4 KB · Affichages: 34

Discussions similaires

Statistiques des forums

Discussions
312 273
Messages
2 086 700
Membres
103 372
dernier inscrit
BibiCh