Création d'une macro pour tri automatique

Bonjour,

Je suis une utilisatrice d'Excel assez Novice.

Je travaille actuellement sur une liste d'invités assez longue et avec plusieurs données ( Nom prénom , nombre d'adultes/enfant inscrits, le prix correspondant...)

Au niveau des formules pour le calcul automatique des tarifs je gère (vous me direz c'est un peu le plus simple ! )

Cependant, à chaque fois je trie l'ensemble des données (pour ordonner ma liste par ordre alphabétique croissant des noms) je le fais manuellement en sélectionnant l'ensemble des données et le type de tri souhaité.

J'ai vu sur internet que l'on pouvait créer une macro sur laquelle cliquer pour que le tri se fasse sans avoir à tout sélectionner. Cependant je souhaiterais avoir à faire moins que ça en créant une macro qui fasse un tri automatique dès que j'ajoute un nom d'invité dans ma liste. Comment faire ? Merci d'avance

Bonjour Orly89,

bienvenue sur le forum.

Pour avoir des réponses correspondant à ta demande,tu peux poster un fichier?

Voici la photo de mon tableau...

Et donc voilà je veux juste que lorsque j'ajoute un nom dans la colonne B il soit replacé (dans l'ordre alphabétique) parmi ceux déjà inscrits (et la ligne qui lui correspond également bien évidemment )

tableau excel

Alors quelqu'un aurait-il la solution à mon problème s'il vous plaît? Merci beaucoup

bonjour

tu n'auras pas beaucoup de reponse avecune capture d'ecan comme base de travail

ce qu'il faut c'est un vrai fichier ; imagine un seul instant que l'on te envoie une reponse sous forme d'image???

utilise "ajouter des fichiers joints"

cordialement

Pas de soucis! Voici le fichier. Merci de votre aide.


Orly89 a écrit :

Pas de soucis! Voici le fichier. Merci de votre aide.

Les derniers noms de famille n'ont pas été triés car ajoutés récemment (mais je sais le faire en faisant la manipulation de sélection de la liste > Données > Trier > etc...) Je suis amenée à ajouter fréquemment des noms à cette liste et souhaiterais donc apprendre à mettre en place une macro de tri automatique à l'ajout d'un nom. Merci d'avance

bonjour

le tableau est "elastique" turegarderas dans insersion>>nom>>>definir ;c'est la plage desnoms (liste ) qui sert de reference pour les autres colonnes

1'602orly-89.zip (131.56 Ko)

cordialement

Merci c'est gentil, j'ai pu remarquer grâce à votre document que l'on peut simplifier l'écriture des SOMMES mais cela ne résout pas mon problème...

Je n'ai peut être pas expliqué correctement mon attente... Je souhaite que lorsque j'ajoute un nom dans la colonne B (par exemple: Dupont Léo) celui ci soit automatiquement replacé dans la liste de noms déjà existante et par ordre alphabétique.

Par exemple si j'ai en classement :

ColA / Col B

(1) ALVINT Clara

(2) BERTHAULT Coralie

(3) DEGARDE Chloé

(4) DOS SANTOS José

(5) FERET Emily

Et que dans la colonne B j'ajoute "DUPONT Léo" , lorsque j'ai fini d'écrire ce nouveau nom et que j'appuie sur entrée (ou sur une autre cellule) je veux que ça m'affiche automatiquement :

ColA / Col B

(1) ALVINT Clara

(2) BERTHAULT Coralie

(3) DEGARDE Chloé

(4) DOS SANTOS José

(5) DUPONT Léo

(6) FERET Emily

Voilà, je veux programmer une macro qui puisse me faire ça (trier la liste de noms par ordre alphabétique automatiquement dès que j'ajoute un nom à cette liste)

J'ai oublié de préciser, je voudrais créer cette macro avec VBA ..

Bonjour

Une seule plage dynamique nommée ListeNoms pour les formules.

Pour le tri automatique

Code Feuil1

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then
     Call Tri
    End If
End Sub

Code Module1

Sub Tri()
    Dim LastRow As Long
    LastRow = ActiveSheet.Range("B2").End(xlDown).Row
    Range("B3:I" & LastRow).Sort Key1:=Range("B3"), Order1:=xlAscending, Key2:=Range("B3"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _
        :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
        DataOption2:=xlSortNormal
End Sub

Touches Alt et F11 pour voir le Code (et double click sur l'élément concerné)

Cordialement

Tout d'abord merci pour les formules

Cependant , j'ai enregistré le fichier, activé mes macros et lorsque j'ajoute un nom dans la liste de noms il y a un message d'erreur : "Erreur de compilation :

Nom ambigu détecté : ~ "

Que dois-je faire ? Merci

Bonjour

"Erreur de compilation : Nom ambigu détecté : ~ "

Ceci laisse supposer que tu as déjà en Feuil1 une code "Private Sub"

Si oui, envoie le fichier avec ce Code..

Cordialement

Quand je clique droit sur Feuil1 et que je mets visualiser le code ça me met ce que j'ai mis dans le fichier en image sur le tableau..


Je viens de tout fermer et ré-ouvrir et ça fonctionne dès que j'ajoute un nom ça tri MERCI BEAUCOUP

Une question peut on ajouter quelque chose : si je supprime un nom ça tri de la même façon ... ?

Car sinon je suis obligée de supprimer la ligne...

En tout cas merci pour les formules

Bonsoir

Ton fichier modifié

Cordialement

Bonsoir, je viens de voir votre message et sa pièce jointe. Merci beaucoup de votre aide Bonne soirée

Bonjour,

Je déterre un vieux sujet, mais j'ai besoin d'aide...

Tout d'abord merci Amadéus pour tes explications, 4 ans après elles servent toujours !

Je vous explique, je travail sur un document Excel qui me sert de base de donnée client. Dans la colonne "T"(la dernière de mon tableau), je mentionne une date à laquelle je vais devoir recontacter le client. J'avais besoin que celle-ci ce réorganise automatiquement pour ne pas passer mon temps à chercher ! J'ai incorporé les 2 Macros "Feuill1" et "Module1" fourni par Amadéus, après avoir modifié les "B:B" de Feuill 1 en "T:T" et les "B2" en "T1" et "B3" en "T2" du code Module1

Bref tout fonctionne ! Sauf que, parfois à l'ouverture j'ai un message d'erreur, qui s'achève par "Excel a pu ouvrir le fichier en supprimant ou en réparant le contenu illisible.

Enregistrements supprimés: Tri dans la partie /xl/worksheets/sheet1.xml"

L'un de vous sait pourquoi ?

Rechercher des sujets similaires à "creation macro tri automatique"