Automatiser un tableaux avec des feuilles

Bonjour à tous.

Je suis très novice sous excel et j'aurais grand besoin de votre aide.

Voici ce que je cherche à faire avec mon fichier excel:

J'ai en "feuille 1" de mon classeur un inventaire complet des produits d'un magasin rayon par rayon. Cet inventaire est ensuite "divisé" rayon par rayon en plusieurs feuilles (Eclairage, peinture, décoration etc..) , j'ai juste fais un simple copier/coller. Or cet inventaire est susceptible d'être modifier fréquemment. J'aimerais alors, qu'en modifiant le tableau inventaire de la "feuille 1" (ex: ajout ou suppression de nouvelles lignes) les tableaux des feuilles "Eclairage, décoration, etc.." se modifient automatiquement eux aussi.

Avez-vous une ou plusieurs idées pour résoudre se problème?

Merci d'avance pour l'aide que vous pourrez m'apporter.

17cross-marketing.xlsx (181.49 Ko)

Bonjour,

Proposition à tester

Merci pour ta réponse Game Over.

Je viens de tester ton fichier mais excel m'indique une erreur de compilation avec le message suivant "projet ou bibliothèque introuvable". Etant très étranger à excel en matière de macro et VBA, je ne comprends pas ce que cela signifie..

Cordialement

Ca marche parfaitement bien ici...

J'ai désactivé une librairie sur le nouveau fichier, vois si ça marche cette fois ci.

Merci à toi Game Over cela marche à merveille!!

Petite question, comment fais-tu cela? (je serais sans doute amené à reproduire des tableaux du même genre par la suite).

Si toute fois la démarche n'est pas trop longue et complexe à expliquer.

Merci

Tu sais sans doute qu'il est possible de programmer Excel pour automatiser certaines taches répétitives.

J'ai donc écrit un petit programme dont voici le code ci-dessous :

Sub test()
Application.ScreenUpdating = False
Dim D As Range, F As Range, derCol As Integer, derLig As Long

For Each Sh In Sheets
    If Sh.Name <> "Ref" Then
        With Sh
            Set D = Sheets("Ref").Columns(1).Find(Sh.Name, , xlValues, xlWhole, xlByColumns, xlNext)
            Set F = Sheets("Ref").Columns(1).Find(Sh.Name, , xlValues, xlWhole, xlByColumns, xlPrevious)
            derCol = .Cells.Find("*", , , , xlByColumns, xlPrevious).Column

                If Application.WorksheetFunction.CountA(.Columns(1)) > 1 Then
                    derLig = .Range("A" & Rows.Count).End(xlUp).Row
                    .Cells(2, 1).Resize(derLig, derCol).Delete
                End If
        End With

        With Sheets("Ref")
            derCol = .Cells.Find("*", , , , xlByColumns, xlPrevious).Column
            .Range(D, .Cells(F.Row, derCol)).Copy Destination:=Sh.Cells(2, 1)
        End With
    End If
Next Sh
Application.ScreenUpdating = True

End Sub

En gros, à chaque fois que tu quittes la feuille "Ref", ce programme est automatiquement lancé.

il a deux fonctions : la première est d'effacer toutes les données de chaque feuille autre que "Ref"; la seconde, de recopier toutes les lignes de la colonne A de la feuille "Ref" ayant le même nom que le nom de la feuille traitée.

Rechercher des sujets similaires à "automatiser tableaux feuilles"