Copie avec liaison d'une feuille

Bonjour à tous,

Je recherche la manip qui me permettrai de réaliser le fantasme suivant :

Tout ce passe au sein du même classeur (excel 2011 mac / enregistré en *.xlsx)

J'ai une feuille remplie avec lignes et colonnes, j'ai besoin d'en avoir une copie dans une autre feuille, avec la même présentation, avec un tri automatique alphabétique de la colonne A. Le tout avec liaison, en effet, je change régulièrement des valeurs dans la première feuille et je voudrai qu'elle changent dans l'autre feuille. Et je voudrai, si je rajoute des nouvelles lignes ou colonnes (insertion), les voir apparaitre et trié automatiquement dans mon autre feuille.

Ci-joint le tableau en question

Merci d'avance !

Bonjour rico,

Tu ouvre un autre classeur.

Tu sélectionnes toute la feuille à copier , et tu fais dans le nouveau classeur Collage spéciale puis Coller avec liaison.

Mais je crois que ensuite il faut que les deux classeurs soient ouvert pour effectuer la liaison( à vérifier)

Bonsoir,

une proposition à vérifier

Game Over a écrit :

Bonsoir,

une proposition à vérifier

Bonsoir Game Over,

Je ne peux pas ouvrir ton fichier "car une partie de son contenu est illisible"...


acymospc a écrit :

Bonjour rico,

Tu ouvre un autre classeur.

Tu sélectionnes toute la feuille à copier , et tu fais dans le nouveau classeur Collage spéciale puis Coller avec liaison.

Mais je crois que ensuite il faut que les deux classeurs soient ouvert pour effectuer la liaison( à vérifier)

Bonsoir Acymospc,

Ce n'est pas possible de le faire au sein d'un même classeur ?

Merci

ah, c'est embêtant...

bon alors colle le code dans le module de la feuil2, vois si ça marche comme ça

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Dim derLig As Long, c As Long
c = 0
With Sheets("Feuil3")
    .Cells.Delete
    Sheets("TOTAL QTE").Cells.Copy Destination:=.Cells(1, 1)
    Range("K3") = "K"
    derLig = .Range("B" & Rows.Count).End(xlUp).Row
    For a = 4 To derLig
        If IsEmpty(Cells(a, 1)) Then
            .Cells(a, 1) = "aa"
            c = c + 1
            .Cells(a, 11) = c
        Else
            .Cells(a, 11) = c
        End If
    Next a

    .Range("A4").Resize(derLig - 4, 11).Sort Key1:=[K1], Key2:=[A1] ', Header:=xlYes
    .Columns("K").ClearContents
    .Columns("A").Replace what:="aa", replacement:=""
    .Range("A1").Select
End With
ActiveWindow.ScrollRow = 1
Application.ScreenUpdating = False
End Sub
Game Over a écrit :

ah, c'est embêtant...

bon alors colle le code dans le module de la feuil2, vois si ça marche comme ça

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Dim derLig As Long, c As Long
c = 0
With Sheets("Feuil3")
    .Cells.Delete
    Sheets("TOTAL QTE").Cells.Copy Destination:=.Cells(1, 1)
    Range("K3") = "K"
    derLig = .Range("B" & Rows.Count).End(xlUp).Row
    For a = 4 To derLig
        If IsEmpty(Cells(a, 1)) Then
            .Cells(a, 1) = "aa"
            c = c + 1
            .Cells(a, 11) = c
        Else
            .Cells(a, 11) = c
        End If
    Next a

    .Range("A4").Resize(derLig - 4, 11).Sort Key1:=[K1], Key2:=[A1] ', Header:=xlYes
    .Columns("K").ClearContents
    .Columns("A").Replace what:="aa", replacement:=""
    .Range("A1").Select
End With
ActiveWindow.ScrollRow = 1
Application.ScreenUpdating = False
End Sub

Désolé, je suis un peu novice pour le coup, c'est quoi le module

Merci

C'est l'emplacement dans Excel qui te permet d'écrire les macros.

Je ne suis pas familier avec Excel pour Mac mais en supposant que la configuration soit la même que sur pc :

sélectionne l'onglet Développeur dans le ruban du haut

sélectionne ensuite l'onglet Visual Basic, tout à gauche

Affichage

Explorateur de projets

Feuil2(Feuil3)

Fais un copier/coller du code dans le cadre principal de cette fenêtre

retourne sur ta feuille Excel

A chaque fois que tu cliqueras sur l'onglet Feuil3, le tableau se mettra automatiquement à jour.

Game Over a écrit :

C'est l'emplacement dans Excel qui te permet d'écrire les macros.

Je ne suis pas familier avec Excel pour Mac mais en supposant que la configuration soit la même que sur pc :

sélectionne l'onglet Développeur dans le ruban du haut

sélectionne ensuite l'onglet Visual Basic, tout à gauche

Affichage

Explorateur de projets

Feuil2(Feuil3)

Fais un copier/coller du code dans le cadre principal de cette fenêtre

retourne sur ta feuille Excel

A chaque fois que tu cliqueras sur l'onglet Feuil3, le tableau se mettra automatiquement à jour.

Ca ne doit pas être identique car je n'y arrive pas. merci quand même pour le coup de main

Rechercher des sujets similaires à "copie liaison feuille"