Bonsoir à tous,
étant débutant sur excel (en vba surtout), mapomme m'a très gentiment écrit une macro pour réaliser une liste classée par ordre alphabétique dans la feuille "Présences B-J1", à partir de 2 feuilles ("Benjamines" puis "Benjamins") sous 2 conditions ("E1" dans la colonne D ET "OUI" dans la colonne G).
Pouvez-vous m'aider à résoudre 2 problèmes s'il-vous-plaît..? cela dépasse vraiment mes compétences...
Problème n°1 : je souhaiterai créer la même liste classée par ordre alphabétique dans la feuille "Présences B-J1", mais sous des conditions différentes ("E1" OU "E2" OU "E3" OU "E4" OU "E5" dans la colonne D ET "OUI" dans la colonne G).
Problème n°2 : je souhaiterai créer une liste classée par ordre alphabétique dans la feuille "Présences MC-J1", mais à partir de 4 feuilles cette fois ("Minimes FILLES" puis "Minimes GARÇONS" puis "Cadettes" puis "Cadets") sous 2 conditions ("E1" dans la colonne D ET "OUI" dans la colonne G).
Voici la macro à adapter :
Merci d'avance à ceux qui prendront le temps de m'aider et au forum pour son efficacité !
Laurent
étant débutant sur excel (en vba surtout), mapomme m'a très gentiment écrit une macro pour réaliser une liste classée par ordre alphabétique dans la feuille "Présences B-J1", à partir de 2 feuilles ("Benjamines" puis "Benjamins") sous 2 conditions ("E1" dans la colonne D ET "OUI" dans la colonne G).
Pouvez-vous m'aider à résoudre 2 problèmes s'il-vous-plaît..? cela dépasse vraiment mes compétences...
Problème n°1 : je souhaiterai créer la même liste classée par ordre alphabétique dans la feuille "Présences B-J1", mais sous des conditions différentes ("E1" OU "E2" OU "E3" OU "E4" OU "E5" dans la colonne D ET "OUI" dans la colonne G).
Problème n°2 : je souhaiterai créer une liste classée par ordre alphabétique dans la feuille "Présences MC-J1", mais à partir de 4 feuilles cette fois ("Minimes FILLES" puis "Minimes GARÇONS" puis "Cadettes" puis "Cadets") sous 2 conditions ("E1" dans la colonne D ET "OUI" dans la colonne G).
Voici la macro à adapter :
Code:
Sub BilanBFBG_E1()
Dim derlig&, source, i&, j&, n&, etab, k&, m&
'prépa
Application.ScreenUpdating = False
With Sheets("Présences B-J1")
.Range("a3:c" & .Rows.Count).ClearContents
.Range("a3:c" & .Rows.Count).Interior.Color = xlNone
etab = .Cells(1, "b")
End With
'Benjamine
With Sheets("Benjamines")
derlig = .Cells(.Rows.Count, "a").End(xlUp).Row
If derlig >= 6 Then
source = .Range("a6:g" & derlig).Value
For i = 1 To UBound(source)
If source(i, 4) <> etab Or source(i, 7) <> "OUI" Then source(i, 1) = "à_suppr"
Next i
k = 0
For i = 1 To UBound(source)
If source(i, 1) <> "à_suppr" Then
k = k + 1
For j = 1 To 3: source(k, j) = source(i, j): Next j
End If
Next i
If k > 0 Then
With Sheets("Présences B-J1")
.Range("a3").Resize(k, 3) = source
.Range("a3").Resize(k, 3).Sort key1:=.Range("a3"), order1:=xlAscending, Header:=xlNo
.Range("a3").Resize(k, 3).Interior.Color = RGB(255, 133, 238)
End With
End If
End If
End With
'Benjamin
With Sheets("Benjamins")
derlig = .Cells(.Rows.Count, "a").End(xlUp).Row
If derlig >= 6 Then
source = .Range("a6:g" & derlig).Value
For i = 1 To UBound(source)
If source(i, 4) <> etab Or source(i, 7) <> "OUI" Then source(i, 1) = "à_suppr"
Next i
m = 0
For i = 1 To UBound(source)
If source(i, 1) <> "à_suppr" Then
m = m + 1
For j = 1 To 3: source(m, j) = source(i, j): Next j
End If
Next i
If m > 0 Then
With Sheets("Présences B-J1")
.Range("a3").Offset(k).Resize(m, 3) = source
.Range("a3").Offset(k).Resize(m, 3).Sort key1:=.Range("a3").Offset(k), order1:=xlAscending, Header:=xlNo
.Range("a3").Offset(k).Resize(m, 3).Interior.Color = RGB(141, 192, 235)
End With
End If
End If
End With
End Sub
Merci d'avance à ceux qui prendront le temps de m'aider et au forum pour son efficacité !
Laurent