Bonsoir,
je cherche à automatiser certaines tâches de mon carnet de notes.
Dans ce carnet, le nombre de lignes dépend du nombre d'élèves. Au cours de l'année, de nouveaux arrivants modifient aussi le nombre de lignes. Dans ce dernier cas, il faut donc rajouter un nouveau nom puis le classer.
Voilà mon code pour sélectionner les lignes après rajout d'un élève.
Voici la macro pour classer le nom des élèves.
En fait je sélectionne les lignes 8 à 39, parce que y a autant d'élèves. Mais sur d'autres feuilles, y en a moins ou plus.
y a-t-il moyen de sélectionner uniquement les lignes d'élèves, quelque soit leur nombre?
je cherche à automatiser certaines tâches de mon carnet de notes.
Dans ce carnet, le nombre de lignes dépend du nombre d'élèves. Au cours de l'année, de nouveaux arrivants modifient aussi le nombre de lignes. Dans ce dernier cas, il faut donc rajouter un nouveau nom puis le classer.
Voilà mon code pour sélectionner les lignes après rajout d'un élève.
Code:
Rows("14:14").Select
Selection.Copy
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False
Range("B14:C14,I14:O14,P14:V14,W14:AC14").Select
Selection.ClearContents
Range("B14").Select
ActiveCell.FormulaR1C1 = textNomEleve.Value
Range("C14").Select
ActiveCell.FormulaR1C1 = textPrenomEleve
Columns("B:C").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.EntireRow.Select
Code:
ActiveWorkbook.Worksheets("Notes").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Notes").Sort.SortFields.Add Key:=Range("D8:D39"), _
SortOn:=xlSortO à D39_nValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Notes").Sort
.SetRange Range("A8:AH39")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Columns("B:C").Select
Selection.EntireColumn.Hidden = True
ActiveCell.Select
y a-t-il moyen de sélectionner uniquement les lignes d'élèves, quelque soit leur nombre?