• Initiateur de la discussion Initiateur de la discussion polisconne
  • 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 !

P

polisconne

Guest
Au secours

J’ explique mon problème. Je me suis fait un fichier pour mon association sportive. Sur un onglet (n°2), il y les inscriptions et chaque nom inscrit est renvoyé automatiquement sur un autre onglet(n°1) pour l’appel par séance. Je souhaiterai les trier par ordre alphabétique à l’aide d’une macro (bouton classer). Le problème est que à chaque tri, l’ordre des noms est corrigé sur les deux listes mais les présences par séance sur l'onglet n°1 ne suivent pas !!
Est-ce que quelqu’un peut m’aider ?
Merci d'avance

En pièce jointe, le fichier en question.
 

Pièces jointes

Re : petite macro

Bonjour,

Petite macro n'est pas vraiment un titre adéquat, change le pour 'Problème de tri (VBA) ou quelque chose du genre.

Il faut vraiment délimiter ce genre de 'liste' par des lignes vides en haut(quand elle ne commence pas en ligne 1) (et en bas) ainsi que des colonnes vides à gauche et à droite (à gauche quand la 'liste' ou tableau ne commence pas en colonne 1).7

J'ai donc insérer une ligne (ligne 4 ) au dessus du tableau de la feuille appel puis appliquer la macro ci-dessous:

Code:
Sub Macro1()
With Sheets("inscription")
   .Range("B5").CurrentRegion.Sort Key1:=.Range("B5"), Order1:=xlAscending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End With
With Sheets("appel")
    .Range("B6").CurrentRegion.Sort Key1:=.Range("B6"), Order1:=xlAscending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End With
End Sub

A+
 
Dernière modification par un modérateur:
Re : petite macro

Salut,
D'abord merci de t’intéresser à mon affaire.
je viens d'essayer d'insérer une ligne en ligne 4 au dessus du tableau et de ses entêtes. J'ai ensuite copié ta macro. A priori, ça ne règle pas mon problème. Les noms sont triés mais les données restent à leurs place sans se décaler avec les noms.
En plus, sur l'onglet inscription, la première colonne est triées avec les noms et j'aurai préféré que non. Qu'est ce que j'ai mal fait?
Merci d'avance.
Bonne soirée.
 
Re : petite macro

Re,

Tu nous fournis un fichier dont les lignes sont déjà triés sur les noms? alors je vois pas.

Code:
Sub Macro1()
    With Sheets("inscription").Range("B5").CurrentRegion
        .Offset(, 1).Resize(, .Columns.Count - 1).Sort Key1:=.Range("B5"), Order1:=xlAscending, Header:=xlYes
    End With
    With Sheets("appel").Range("B6").CurrentRegion
        .Offset(, 1).Resize(, .Columns.Count - 1).Sort Key1:=.Range("B6"), Order1:=xlAscending, Header:=xlYes
    End With
End Sub

A moins que ce ne soit pas un problème de tri.

A+
 
Dernière modification par un modérateur:
- 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

Réponses
2
Affichages
240
Retour