Créer une macro

Fermé
abouilias - 18 mars 2010 à 08:37
Mike-31 Messages postés 18335 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 septembre 2024 - 18 mars 2010 à 10:34
Bonjour,
comme étant débutant en VBA, j'aimerais bien que vous m'aidiez à créer une petite macro qui me permet le transfert des données des élèves ayant une moyenne supérieure ou égale à 10/20 vers la feuille du niveau supérieur. (les données sont enregistées sous excel)
Exemple:
comment faire pour réaliser le transfert des données des élèves de la 5AEP ayant une moyenne sup ou égal à 10/20 vers la feuille de donnée de la 6AEP?
merci pour votre aide

1 réponse

Mike-31 Messages postés 18335 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 septembre 2024 5 095
18 mars 2010 à 10:34
Salut,

Copies ce code dans un module et associes le à un bouton dans mon exemple les notes élèves étant colonne C, seront copiées sur la feuille 6AEP
Le problème est que si tu réactives le code elles seront de nouveau copiées.
Je pense qu'il serait judicieux soit de les couper sur la feuille 6AEP dans ce cas les lignes seraient effacées sur la feuille 5AEP soit de créer une colonne sur la feuille 5AEP sur laquelle serait inscrit un code exemple copié de sorte à empêcher la copie en doublon

Sub Macro2()

Dim Lig As Long
Dim LigFinA As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long
Dim LigFin As Long
Sheets("6AEP").Activate
Col = "C"
LigFin = Range("A65536").End(xlUp).Row + 1
NumLig = 1
With Sheets("5AEP")
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Value >= 10 Then
.Cells(Lig, Col).EntireRow.Copy

NumLig = NumLig + 1
Cells(LigFin, 1).Select
LigFin = LigFin + 1
ActiveSheet.Paste
End If
Next
End With
Application.CutCopyMode = False
MsgBox ("Notes supérieures et égale à 10 transférées")
End Sub
0