XL 2010 Tri alphabétique sur plusieurs colonnes

jokerfidelio

XLDnaute Occasionnel
Bonjour a tous,
J ai essayé plusieurs code vba mais sans succès.

J aurais souhaité pouvoir trier les données de plusieurs colonne
exemple B.D.F par ordre alphabétique (avec suite sur les 3 colonnes de A 》Z)
automatiquement a chaque nouvelles entrée ou a l ouverture du fichier.

Merci de votre aide
 

Dranreb

XLDnaute Barbatruc
Réécrit comme ça et rappatrié dans le module Feuil11 ça a l'air de marcher, mais c'est un peu lent, le temps de réponse.
VB:
Private Sub TextBox1_Change()
Dim Ligne&, Colonne&
    Application.ScreenUpdating = False
    Range("B2:B25,D2:D25,F2:F25").Interior.ColorIndex = 2
    ListBox1.Clear

    If TextBox1 <> "" Then
        For Ligne = 2 To 25
            For Colonne = 2 To 6 Step 2
                If Cells(Ligne, Colonne) Like "*" & TextBox1 & "*" Then
                    Cells(Ligne, Colonne).Interior.ColorIndex = 43
                    ListBox1.AddItem Cells(Ligne, Colonne)
                End If
            Next
        Next
    End If
End Sub
 

jokerfidelio

XLDnaute Occasionnel
Réécrit comme ça et rappatrié dans le module Feuil11 ça a l'air de marcher, mais c'est un peu lent, le temps de réponse.
VB:
Private Sub TextBox1_Change()
Dim Ligne&, Colonne&
    Application.ScreenUpdating = False
    Range("B2:B25,D2:D25,F2:F25").Interior.ColorIndex = 2
    ListBox1.Clear

    If TextBox1 <> "" Then
        For Ligne = 2 To 25
            For Colonne = 2 To 6 Step 2
                If Cells(Ligne, Colonne) Like "*" & TextBox1 & "*" Then
                    Cells(Ligne, Colonne).Interior.ColorIndex = 43
                    ListBox1.AddItem Cells(Ligne, Colonne)
                End If
            Next
        Next
    End If
End Sub


j ai bien copier le code dans le module mais cela ne fonctionne pas
 

job75

XLDnaute Barbatruc
Re,

Avec Option Compare Text en haut de la feuille la casse est ignorée.

Et il vaut mieux commencer par la boucle sur les colonnes pour bénéficier du classement :
Code:
Option Compare Text 'la casse est ignorée

Private Sub TextBox1_Change()
Dim Colonne%, Ligne&
    Application.ScreenUpdating = False
    Range("B2:B1000,D2:D1000,F2:F1000").Interior.ColorIndex = xlNone
    ListBox1.Clear
    If TextBox1 <> "" Then
        For Colonne = 2 To 6 Step 2
            For Ligne = 2 To [A1].CurrentRegion.Rows.Count
                If Cells(Ligne, Colonne) Like "*" & TextBox1 & "*" Then
                    Cells(Ligne, Colonne).Interior.ColorIndex = 43
                    ListBox1.AddItem Cells(Ligne, Colonne)
                End If
            Next
        Next
    End If
End Sub
A+
 

jokerfidelio

XLDnaute Occasionnel
Re,

Avec Option Compare Text en haut de la feuille la casse est ignorée.

Et il vaut mieux commencer par la boucle sur les colonnes pour bénéficier du classement :
Code:
Option Compare Text 'la casse est ignorée

Private Sub TextBox1_Change()
Dim Colonne%, Ligne&
    Application.ScreenUpdating = False
    Range("B2:B1000,D2:D1000,F2:F1000").Interior.ColorIndex = xlNone
    ListBox1.Clear
    If TextBox1 <> "" Then
        For Colonne = 2 To 6 Step 2
            For Ligne = 2 To [A1].CurrentRegion.Rows.Count
                If Cells(Ligne, Colonne) Like "*" & TextBox1 & "*" Then
                    Cells(Ligne, Colonne).Interior.ColorIndex = 43
                    ListBox1.AddItem Cells(Ligne, Colonne)
                End If
            Next
        Next
    End If
End Sub
A+

j'ai copié le code dans le module 1 mais cela ne repond toujours pas ! est ce moi qui fait une mauvaise manipulation ?
fichier joint
 

Pièces jointes

  • Tri sur 3 colonnes(2 bis).xlsm
    37.2 KB · Affichages: 26

Dranreb

XLDnaute Barbatruc
On a dit : DANS LE MODULE DE LA FEUILLE
Pas dans un module standard. Ça ne sert à rien. Il ne connait pas d'objet Textbox1, c'est un objet de la feuille. Et d'ailleurs, jamais aucune procédure évènement n'est utilisable dans un module standard, seulement dans les modules objets.
 

Discussions similaires

Réponses
8
Affichages
389

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 017
Messages
2 104 584
Membres
109 084
dernier inscrit
mizab