Synthèse des feuilles sur Excel

Bonjour,

Je dois faire une synthèse de plusieurs feuilles du même classeur.

Chaque onglet a la même présentation, avec les mêmes en-tête. Il faut que l'onglet "synthèse" se mette à jour en fonction de ce qui est complété dans les autres onglets. Aucun calcul, il ne s'agit que de texte à reprendre.

Les lignes sont complétées au fur et à mesure et il faudrait qu'en enregistrant, elles s'ajoutent à "synthèse", si possible en s'ajoutant en fonction de leur onglet et non par ordre chronologiques : un bloc des "disciplinaire", un bloc "déontologie", qui se met à jour quand une nouvelle ligne est ajoutée, et non par ordre chronologique au rythme des saisies.

Pensez vous que ce soit possible à réaliser ?

Je vous transmets le modèle du tableau, complété avec des données fictives.

Merci beaucoup pour votre aide.

Nadège.

Bonjour Nadège et bienvenue, bonjour le forum,

En pièce jointe ton fichier modifié avec le code ci-dessous :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim OS As Worksheet 'déclare la variable OS (Onglet Synthese)
Dim PLV As Integer 'déclare la variable PLV (Première Ligne Vide)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)

Application.ScreenUpdating = False 'masque les rafraîchissement d'écran
Set OS = Worksheets("SYNTHESE TEST") 'définit l'onglet OS
OS.Range("A5:H" & Application.Rows.Count).ClearContents 'efface les anciennes valeurs de l'onglet OS
For Each O In Sheets 'boucle sur tous les onglets du classeur
    If O.Name <> OS.Name Then 'condition : si l'onglet de la bouce n'est pas l'onglet OS
        PLV = OS.Cells(Application.Rows.Count, "A").End(xlUp).Row + 1 'définit la première ligne vide PLV de la colonne A de l'onglet OS
        DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de l'onglet de la boucle O
        'copie la plage A5:H & DL de l'onglet O et la colle dans le cellule ligne PLV colonne A de l'onglet OS
        O.Range("A5:H" & DL).Copy OS.Cells(PLV, "A")
    End If 'fin de la condition
Next O 'prochain onglet de la boucle
End Sub

L'action se réalise chaque fois que le fichier est sauvegardé.

26nadege-ep-v01.zip (138.48 Ko)

Merci beaucoup,

Par contre, quand j'enregistre, j'ai un message d'erreur et cela ne m'a pas l'air de fonctionner.

Est ce que je peux faire quelque chose pour arranger ca ?

Merci !

sans titre

Re,

Si ça fonctionne ! Il faut cliquer sur Continuer. Cela vient du fait que tu as fournis un fichier version ancienne (93) avec l'extension .xls. Enregistre le sous ta dernière version d'Excel et ce problème devrait disparaître...

Merci milles fois, effectivement ca marche !

J'ai créé de nouvelles feuilles et ca marche aussi :) Tout ça me dépasse et je suis super impressionnée. Merci d'avoir passé du temps pour m'aider et m'expliquer.

Je te suis très reconnaissante.

Très belle soirée à toi !

Nadège.

Rechercher des sujets similaires à "synthese feuilles"