XL 2010 [résolu par Klin89] Tri de plusieurs colonne a placer dans une feuille différente

bellenm

XLDnaute Impliqué
Bonjour à tous,

Voici une question : comment obtenir le tri de ces colonnes de la feuille "DONNEES LIS"
« J », « L », « M », « N », « O », « P », « Q » et de les mettre dans la feuille « ADVERSAIRES »

Faire comme dans la feuille « ADVERSAIRES » mais moi j’ai simplement copié les cellules qui devrait y être et ce jusqu’à la dernière cellule qui serait normalement à hauteur du dernier local dans la colonne « L34 » pour le moment puisque d’autre club pourraient s’ajouter.

D’avance merci pour votre aide, de même j’ai pour le moment un autre post où l’aide demandée est de rajouter des données dans un colonne de la feuille « DONNEES LIS »

Marc
 

Pièces jointes

  • RILTT3.xlsm
    1 MB · Affichages: 32

klin89

XLDnaute Accro
Bonsoir bellenm,

En fait, tu veux t'appuyer sur les colonnes J,L,M,N,O,P et Q pour restituer le tableau comme illustré en Feuille "ADVERSAIRES"

Vois ceci :
VB:
Option Explicit
Sub test()
Dim a, b(), i As Long, j As Byte, x As Long, n As Long
    With Sheets("DONNEES LIS").Range("I1").CurrentRegion
        a = .Value
        x = Application.Count(.Columns("f:i").Cells)
    End With
    ReDim b(1 To x, 1 To 4)
    For j = 6 To UBound(a, 2)
        For i = 2 To UBound(a, 1)
            If a(i, j) = 1 Then
                n = n + 1
                b(n, 1) = j - 5
                b(n, 2) = a(i, 2)
                b(n, 3) = a(i, 5)
                b(n, 4) = a(i, 4)
            End If
        Next
    Next
    With Sheets("ADVERSAIRES").Cells(1)
        '.Cells.Clear
        .Resize(1, UBound(b, 2)).Value = Array("Equipe", "Club", _
                                               "Dérogation", "Local")
        .Offset(1).Resize(n, UBound(b, 2)).Value = b
        With .CurrentRegion
            .Font.Name = "calibri"
            .BorderAround Weight:=xlThin
            .Borders(xlInsideVertical).Weight = xlThin
            .VerticalAlignment = xlCenter
            With .Rows(1)
                .HorizontalAlignment = xlCenter
                .Interior.ColorIndex = 40
                .Font.Bold = True
                .BorderAround Weight:=xlThin
            End With
            '.Columns.AutoFit
        End With
    End With
End Sub
klin89
 
Dernière édition:

bellenm

XLDnaute Impliqué
Option Explicit
Sub
test()
Dim a, b(), i As Long, j As Byte, x As Long, n As Long
With Sheets("DONNEES LIS").Range("I1").CurrentRegion
a = .Value
x = Application.Count(.Columns("f:i").Cells)
End With
ReDim b(1 To x, 1 To 4)
For j = 6 To UBound(a, 2)
For i = 2 To UBound(a, 1)
If a(i, j) = 1 Then
n = n + 1
b(n, 1) = j - 5
b(n, 2) = a(i, 2)
b(n, 3) = a(i, 5)
b(n, 4) = a(i, 4)
End If
Next
Next
With Sheets("ADVERSAIRES").Cells(1)
'.Cells.Clear
.Resize(1, UBound(b, 2)).Value = Array("Equipe", "Club", _
"Dérogation", "Local")
.Offset(1).Resize(n, UBound(b, 2)).Value = b
With .CurrentRegion
.Font.Name = "calibri"
.BorderAround Weight:=xlThin
.Borders(xlInsideVertical).Weight = xlThin
.VerticalAlignment = xlCenter
With .Rows(1)
.HorizontalAlignment = xlCenter
.Interior.ColorIndex = 40
.Font.Bold = True
.BorderAround Weight:=xlThin
End With
'.Columns.AutoFit
End With
End With
End
Sub

Bonjour et merci d'avoir répondu si vite Klin89,

le travail est superbe mais j'ais juste une question si je rajoute des clubs équipes le tableau s’allongera si oui super travail
Merci beaucoup.
PS il reste dans la même optique le sujet précédent lancé sur le site dont le lien est dans le premier message, sais tu faire quelque chose pour moi?

Merci d'avance Marc.
 

bellenm

XLDnaute Impliqué
Re bonjour KLIN89,

juste une question le premier travail est parfait, j'ai la réponse à la question posée au poste précédent,
dans la mise en place des données sur la feuille "ADVSERAIRE" saurais tu mettre en tri par rapport à l'heure puis à l'équipe, donc mettre en premier les clubs rencontrant d'abord les équipes1, puis 2, puis 3, puis 4 comme déjà fait mais en plus en premier les club jouant le plus tôt, par exemple ceux qui joue à 19h30 puis 19h45, 20h00 etc..

Merci beaucoup si c'est possible.

Marc
 
Dernière édition:

bellenm

XLDnaute Impliqué
Re re Bonjour Klin89,

je viens de voir une chose sur mon fichier d'origine la feuille "DONNES LIS" est en mode protéger y a t'il moyen de modifier la formule car si je la laisse protéger j'ai toujours un module de débogage qui vient! pour le moment je vais enlever cette protection lorsque j'en ai besoin, mais s'il y a moyen tant mieux!

Merci, Marc
 

Discussions similaires

Statistiques des forums

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