Tri dans un userform

zozotitou

XLDnaute Junior
Bonjour le forum

Je débute dans les macros et le VBA, je voudrais par macro dans des combos le tri de colonne dans le fichier par catégorie
-1- Par sport (ne pas avoir de doublon dans le combo)
-2- une fois sélectionner le sport avoir la catégorie (ne pas avoir de doublon dans le combo)
Ainsi de suite
A la fin pouvoir écrire la sélection dans une autre feuille

Merci de votre aide
Cdlt
 
Dernière édition:

zozotitou

XLDnaute Junior
Re : Tri dans un userform

Bonjour le Forum et Bebere
J'ai essayé mais il copie les infos vers la ligne 2 mais les positionnent ou il se trouve dans la feuille 1.
Et je voudrais tout ecrire dans la même feuille et les uns à la suite.


Merci de voir
A bientôt
 
Dernière édition:

Bebere

XLDnaute Barbatruc
Re : Tri dans un userform

Zozotitou

Private Sub CommandButton5_Click()
Dim date1 As Date
Dim commentaire1 As String
Dim commentaire2 As String

'dans la ligne suivante tu supprimes le -1 en commentaire
For I = 1 To ListView1.ListItems.Count ' - 1
If ListView1.ListItems(I).Checked = True Then
ligne2 = Mid(ListView1.ListItems(I).Key, 2, 50)
Exit For
End If
Next I

If ligne2 = 0 Then
MsgBox ("Vous devez sélectionner une ligne")
Exit Sub
End If

à bientôt
 

jp14

XLDnaute Barbatruc
Re : Tri dans un userform

Bonsoir le forum
Bonsoir zozotitou

Il faut modifier le début de la macro CommandButton5_Click.
On compte le nombre de ligne cochée

Code:
'---------------------------------------------------------------------------------------
' Procedure : CommandButton5_Click
' DateTime  : 19/06/2007 16:42
' Author    : jp14
' Pour      : http://www.excel-downloads
' Utilisation   :recopie une seule ligne
'---------------------------------------------------------------------------------------
'
Private Sub CommandButton5_Click()

'Sheets(nomf2).Select
'    Cells.Select
'    Selection.ClearContents
'    ligne1 = 0
'Sheets(nomf1).Select
Dim compteur As Integer
compteur = 0
For i = 1 To ListView1.ListItems.Count
    If ListView1.ListItems(i).Checked = True Then
        'ligne2 = Mid(ListView1.ListItems(i).Key, 2, 50)
        compteur = compteur + 1
        
    End If
Next i

If compteur = 0 Then
    MsgBox ("Vous devez sélectionner une ligne")
    Exit Sub
End If
If compteur > 1 Then
    MsgBox ("Vous devez sélectionner une ligne et une seule")
    Exit Sub
End If
.................................................

JP
 
Dernière édition:

zozotitou

XLDnaute Junior
Re : Tri dans un userform

Bonjour le Forum et JP

Je voudrais extraire de la feuil2 vers la feuil3 par rapport au USERFORM4 une liste à une date definit dans le USERFORM4.

Dans le Combo du userform je voudrais trier la date de la plus recente à la plus ancienne

Pour JP J'ai modifier le code, mais je peux toujours cocher plusieurs cases

Merci de votre aide

Cdlt
A+
 
Dernière édition:

jp14

XLDnaute Barbatruc
Re : Tri dans un userform

Bonjour

Une première réponse.

Macro à modifier
Code:
'---------------------------------------------------------------------------------------
' Procedure : ListView1_ItemCheck
' DateTime  : 27/02/2007 17:52
' Utilisation   :changer la couleur quand une case est cochée
' une seule case doit être cochée
'---------------------------------------------------------------------------------------
Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
Dim compteur As Integer
compteur = 0
For I = 1 To ListView1.ListItems.Count
    If ListView1.ListItems(I).Checked = True Then
        'ligne2 = Mid(ListView1.ListItems(i).Key, 2, 50)
        compteur = compteur + 1
        
    End If
Next I
If compteur > 1 Then
    MsgBox ("Vous devez décocher une ligne avant d'en cocher une nouvelle")
    Item.Checked = False
    Exit Sub
End If
...................................................

JP

PS
On peut modifier la macro en faisant le test directement dans la boucle for next (gain de temps) après l'incrémentation du compteur
 
Dernière édition:

jp14

XLDnaute Barbatruc
Re : Tri dans un userform

Bonsoir

Ci joint le fichier avec une proposition.
Une listview remplace un combobox, cela permet de trier facilement les dates.

Pour les trier une colonne cachée contient les dates sous la forme aaaammjj.



JP
 

Pièces jointes

  • Base de donnees6.zip
    47 KB · Affichages: 76

Discussions similaires

  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
438
Réponses
5
Affichages
354
Réponses
28
Affichages
1 K

Statistiques des forums

Discussions
312 581
Messages
2 089 917
Membres
104 306
dernier inscrit
Bouhlal