Besoin d'un ensemble de lignes

  • Initiateur de la discussion Initiateur de la discussion Dan67
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

Dan67

Guest
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.
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
Voici la macro pour classer le nom des élèves.
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
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?
 
Re : Besoin d'un ensemble de lignes

Salut dany

dans ton cas je crois qu'il y a pas un problème une feuille Excel peut en magasiner jusqu'à 65536 élèves et plus dans la nouvelle version, a peut prés jusqu'à ta retraite 😀 aussi ton code il est fait d'un mixage lignes code et lignes enregistreur donc un petit nettoyage s'impose envois nous un fichier pour qu'en puisse t'aider en simplifiant les choses

Cordialement
 
Re : Besoin d'un ensemble de lignes

J'ai réglé le problème.
Voici le code
Code:
' Ajoute un nouvel élève
    Range("B44").Select
    ActiveCell.FormulaR1C1 = textNomEleve.Value
    Range("C44").Select
    ActiveCell.FormulaR1C1 = textPrenomEleve
' Trier les élèves
    Rows("8:45").Select
    ActiveWorkbook.Worksheets("Notes").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Notes").Sort.SortFields.Add Key:=Range("D8:D46"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Notes").Sort
        .SetRange Range("A8:AH45")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveWorkbook.Worksheets("Notes").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Notes").Sort.SortFields.Add Key:=Range("A8"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Notes").Sort
        .SetRange Range("A8:AH45")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Je pense avoir fait le ménage.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
9
Affichages
1 K
C
Réponses
23
Affichages
4 K
Charles78
C
B
Réponses
1
Affichages
1 K
N
  • Question Question
Réponses
5
Affichages
3 K
B
Réponses
2
Affichages
1 K
bonjourdoc
B
J
Réponses
8
Affichages
2 K
A
Réponses
3
Affichages
1 K
A
J
Réponses
7
Affichages
2 K
Je débute
J
Retour