Tri automatique + repetition ligne en debut de pages

bonsoir a tous,

j'ai un tableau qui se rempli tout seul tous les mois grâce a des formules. Mais j'aimerais lui apporter 2 technicités si possible...

premièrement, j'aimerais qu'un tri automatique ce face dans la colonne A a partir de A5

deuxièmement, j'aimerais que les lignes 3 et 4 ce mettent automatiquement a chaque début de pages.

je vous joins le fichier.

merci a tous d'avance pour votre aide!

24recap-matin.xlsx (26.93 Ko)

Bonjour à tous,

Bonjour peresh,

Pour imprimer les lignes 3 et 4 en haut de chaque page :

Ruban Mise en page, bouton Imprimer les titres, onglet Feuille et dans la case Lignes à répéter en haut : $3:$4 puis valider avec OK

Pour trier la feuille, voici une macro à mettre dans un module standard et à lancer par la méthode de ton choix :

Sub Tri()
Dim dlg As Long

Application.ScreenUpdating = False
dlg = Feuil16.Range("A" & Rows.Count).End(xlUp).Row
ActiveWorkbook.Worksheets("recap matin").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("recap matin").Sort.SortFields.Add Key:=Range( _
  "A5:A" & dlg), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("recap matin").Sort
  .SetRange Range("A5:U" & dlg)
  .Header = xlGuess
  .MatchCase = False
  .Orientation = xlTopToBottom
  .SortMethod = xlPinYin
  .Apply
End With
Application.ScreenUpdating = True
End Sub

Cordialement.

super pour les titres ça marche nikel !

par contre pour la macro tri soit je n'arrive pas a la mettre en place soit il y a un problème.

quand je l'insert au code de ma page, il me fais un tri au plus bas du tableau plutôt que de commencer par le haut.

peut tu m'aider ?

Merci

RE :

Difficile pour moi de contrôler le résultat car ton fichier contient des liaisons avec un autre classeur que je ne possède pas.

J'ai donc enregistré une copie que je t'envoie pour tester chez toi. Si ça ne marche pas, il serait bon alors que tu joignes également le classeur source (Feuille de présence mater).

A +

Cordialement.

tu as du oublier de me joindre le fichier...

cordialement

RE :

Effectivement, pardon.

Je m'en suis rendu compte et l'ai ajouté à mon message précédent.

Cordialement.

en fait ce que j'aimerais c'est un tri complétement automatique sans qu'il y es un bouton a cliquer. Quand je rajoute un nom sa ligne entière se triera par rapport a sa 1ere lettre orthographique.

je te joins le fichier avec les deux onglets qui se communique entre eux... (normalement il sont sur le meme fichier mais il sont trop gros donc je te le fais en 2 fichiers)

merci

12recap-matin.zip (26.60 Ko)

RE :

Voici ton fichier avec la macro modifiée et le tri automatique dès qu'une cellule de la colonne A est modifiée.

J'ai nommé "Noms" la plage de cellules A5:A74. Cette référence est utilisée dans les macros donc, si tu dois modifier l'étendue de ton tableau, il ne faudra pas oublier de modifier cette plage en conséquence.

J'ai modifié la liste des noms pour vérifier le bon fonctionnement et ça m'a l'air d'être parfait. A toi de vérifier de ton côté.

Cordialement.

ça marche niquel !!!

sauf que c'est dans feuille de présence qu'il faut que sa tri automatiquement... pourrais tu me faire une copie du macro également pour que je puisse apprendre un peu...

merci d'avance

peresh95 a écrit :

sauf que c'est dans feuille de présence qu'il faut que sa tri automatiquement...

RE :

Voilà, c'est modifié.

Pour voir la copie du code des macros, il te suffit de taper ALT+F11 quand tu es sur ta feuille de travail, ce qui ouvrira la fenêtre de l'éditeur VBE. Dans la fenêtre de gauche, tu double-cliques sur la ligne Feuil18 (Feuille de présence mater) et les macros s'afficheront dans la fenêtre de droite. Pour t'aider, et ne connaissant pas ton niveau en VBA, j'ai abondamment commenté les lignes.

Espérant t'avoir aidé au mieux.

Cordialement.

super merci beaucoup vraiment !!

peut tu juste me dire ou est la plage que tu as nommés "noms" ? Comment la modifié ?

merci encore

Bonjour à tous,

Bonjour peresh,

Technique pour trouver une zone nommée :

Dans la case d'adresse des cellules (à gauche de la barre de formules) tu écris le nom de la plage nommée (sans guillemets) et tu valides, ou tu déroules la liste avec la flèche et tu cliques sur le nom recherché. La plage sera sélectionnée et tu pourras ainsi la visualiser.

Technique pour la modifier :

Dans le menu, tu cliques sur Formules puis sur Gestionnaire de noms. Dans la fenêtre qui s'ouvre, tu sélectionnes le nom et tu peux lire dans le bas la référence des cellules concernées. Tu modifies les références de la plage et tu cliques sur Fermer puis tu valides le message d'avertissement (ou tu l'annules si erreur).

C'est aussi simple que ça.

Cordialement.

franchement merci beaucoup pour le temps que tu prends pour repondre. c'est super clair et j'apprend beaucoup...

une dernière petite question, si j'ai plus de ligne que actuellement qu'est que je dois modifier dans la macro?

peresh95 a écrit :

...si j'ai plus de ligne que actuellement qu'est que je dois modifier dans la macro?

RE :

Si tu ajoutes des lignes, tu dois juste modifier les références de la plage "Noms", comme indiqué précédemment. Il n'y a rien à modifier dans la macro, car elle se base sur cette plage nommée.

Si tu dois un jour modifier le nombre de colonnes, tu n'auras pas non plus à intervenir dans la macro.

Enfin, tout ça ne vaut que si tu remplaces le code précédent par celui ci-joint que j'ai modifié dans ce but.

Cordialement.

ok merci j'ai modifié le code. j'ai rajouté la plage cellulle jusqu'a la ligne 166 mais j'ai une erreur espace pile insuffisant quand je tape mon heure...

que dois je faire ?

merci

RE :

J'ai fait le test jusqu'à la ligne 166 et je n'ai pas obtenu d'erreur.

Je pense que cela peut-être dû à la capacité mémoire de ta machine et/ou de ton processeur. Mais, en règle générale, ça se produit souvent avec des boucles mal contrôlées. Il n'y en a pas dans mon code mais peut-être qu'ailleurs dans ton fichier ?

Toutefois, j'ai omis d'ajouter deux lignes d'instructions qu'il est toujours préférable d'intégrer dans la procédure Change d'un contrôle. Ce sont les deux lignes suivantes :

Private Sub Worksheet_Change(ByVal Target As Range)
...
...
Application.EnableEvents = False
...
...
Application.EnableEvents = True
End Sub

Je te suggère donc de tester avec cette modification.

Cordialement.

ou dois je le rajouter ? effectivement j'ai beaucoup de formule dans mon fichier c'est pour le boulot. Si tu veux je peux t'envoyer tout le fichier que tu regarde ?

Merci d'avance

RE :

Oups, j'ai oublié de joindre la copie 03. La voici.

Cordialement.

et ben voila je te décerne la médaille d'or d'excel

un grand merci a toi... sa marche niquel. Je suis proche de la fin de mon fichier en grande partie grace a toi !! si j'ai besoin je remettrais un post sur le forum.

merci mille fois

Je reviens vers toi pour un petit bug toujours dans le fichier "feuille de présence mater".

quand dans la cellule matin je met "7H" au lieu de "7h" j'ai une erreur qui s'affiche :

ERREUR D"EXECUTION 13 : incompatibilité de type

que dois je faire ?

Rechercher des sujets similaires à "tri automatique repetition ligne debut pages"