Microsoft 365 Tri automatique

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

nike780

XLDnaute Occasionnel
Bonjour,

Nous allons organiser un loto géant et afin de nous organiser au mieux, nous avons créé un fichier excel avec plusieurs onglets :
- le premier nous permet d'y inscrire toutes les demandes avec les achats et les choix de placement (colonne J), est-il possible d'attirer notre attention si la personne placée est déjà rattachée à une autre personne pour pouvoir la rattacher directement à la première personne, cela nous aidera à bien placer les joueurs dans la salle ?
- le second onglet est à disposition des caisses pour distribuer les achats des joueurs, il faudrait qu'il soit trié automatiquement à chaque nouvelle inscription.
- le troisième onglet est à disposition des personnes chargées d'effectuer le placement dans la salle, il faudrait lui aussi qu'il soit trié automatiquement à chaque nouvelle inscription.

J'espère que cela ne demandera pas trop de travail, je sais qu'en VBA il est possible de faire plein de chose, peut être que ma demande n'est pas réalisable.

En attendant de vos nouvelles.

Cdt
 

Pièces jointes

Bonjour Nike,
Toutes ces formules posent problème pour le tri.
Aussi en PJ, j'efface tout, j'y met les formules, les transforme en valeurs puis fait le tri.
Les macros s'exécutent automatiquement lorsqu'on sélectionne la feuille Caisse ou Placement.
Avec par ex pour Caisse :
VB:
Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    [A4:G504].ClearContents
    [A4:A504].FormulaLocal = "=si(Inscription!A5="""";"""";Inscription!A5)"
    [B4:B504].FormulaLocal = "=Inscription!C5"
    [C4:C504].FormulaLocal = "=Inscription!F5"
    [D4:D504].FormulaLocal = "=Inscription!G5"
    [E4:E504].FormulaLocal = "=Inscription!H5"
    [F4:F504].FormulaLocal = "=Inscription!I5"
    [G4:G504].FormulaLocal = "=Inscription!L5"
    [A4:G504] = [A4:G504].Value
    DL = [A65500].End(xlUp).Row
    Range("A4:G" & DL).Resize(DL - 3).Sort key1:=[A4], order1:=xlAscending, Header:=xlNo
End Sub
Par contre j'espère que vos formules sont correctes sinon il vous faudra rentrer dans le VBA.

Je n'ai fait que quelques vérifs ponctuelles, donc bien vérifier.
 

Pièces jointes

Bonsoir,
Dans votre fichier la macro événementielle Worksheet_Change de Sousou est dans la feuille Placement, alors qu'elle concerne la feuille Inscription.
De plus cette macro appelle la macro "attache" qui est absente, elle doit être dans un module.
Voir PJ. J'ai recopié les deux macros de Sousou à leur emplacement correct.
 

Pièces jointes

- 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

Discussions similaires

Retour