Trier à l'aide d'une macro
Résolu
noe2008
Messages postés
184
Date d'inscription
Statut
Membre
Dernière intervention
-
noe2008 Messages postés 184 Date d'inscription Statut Membre Dernière intervention -
noe2008 Messages postés 184 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Trier à l'aide d'une macro
- Excel trier par ordre croissant chiffre - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Logiciel pour trier les photos automatiquement - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
4 réponses
Bonjour,
Le code suivant devrait répondre à votre demande :
Le code suivant devrait répondre à votre demande :
Sub ElevesEnSoutien()
Dim DernLigne As Long
DernLigne = Sheets("semestre").Range("B" & Rows.Count).End(xlUp).Row
m = 6 'début de collage pour soutien
For i = 5 To DernLigne
'Français
Sheets("semestre").Select
If Range("AI" & i).Value >= 5 Then
Else
'Nom français
Sheets("semestre").Select
Range("B" & i).Select
Selection.Copy
Sheets("soutien").Select
Range("L" & m & ":M" & m).Select
ActiveSheet.Paste
'Moyenne français
Sheets("semestre").Select
Range("AI" & i).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("soutien").Select
Range("N" & m & ":O" & m).Select
ActiveSheet.Paste
End If 'Fin Français
'Maths
Sheets("semestre").Select
If Range("X" & i).Value >= 5 Then
Else
'Nom Maths
Sheets("semestre").Select
Range("B" & i).Select
Selection.Copy
Sheets("soutien").Select
Range("H" & m & ":I" & m).Select
ActiveSheet.Paste
'Moyenne Maths
Sheets("semestre").Select
Range("X" & i).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("soutien").Select
Range("J" & m & ":K" & m).Select
ActiveSheet.Paste
End If 'Fin Maths
'Arabe
Sheets("semestre").Select
If Range("P" & i).Value >= 5 Then
Else
'Nom Arabe
Sheets("semestre").Select
Range("B" & i).Select
Selection.Copy
Sheets("soutien").Select
Range("D" & m & ":E" & m).Select
ActiveSheet.Paste
'Moyenne arabe
Sheets("semestre").Select
Range("P" & i).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("soutien").Select
Range("F" & m & ":G" & m).Select
ActiveSheet.Paste
End If 'Fin Arabe
Sheets("semestre").Select
If Range("AI" & i).Value < 5 Or Range("X" & i).Value < 5 Or Range("P" & i).Value < 5 Then
m = m + 1
End If
Next i
End Sub
Bonjour a vous deux,
Theo.R:
les selects et activate sont a eviter car tres goumands en temps d'execution
neo2008: trois fichiers
https://www.cjoint.com/c/FBgkAwUzIbf
celui de Theo.R avec son temps d'execution
et deux autres avec temps d'execution qui peut etre ameliore un peu si vous trouvez que c'est encore trop long
le premier meme classement que Theo.R
le deuxieme un classement par matiere que je trouve plus logique
A vous de voir
Theo.R:
les selects et activate sont a eviter car tres goumands en temps d'execution
neo2008: trois fichiers
https://www.cjoint.com/c/FBgkAwUzIbf
celui de Theo.R avec son temps d'execution
et deux autres avec temps d'execution qui peut etre ameliore un peu si vous trouvez que c'est encore trop long
le premier meme classement que Theo.R
le deuxieme un classement par matiere que je trouve plus logique
A vous de voir
si vous ne trouvez pas de macro guidez moi par une formule
merci