IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

liaison réciproque de 2 feuilles


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 48
    Par défaut liaison réciproque de 2 feuilles
    Bonjour,

    Je souhaiterais pouvoir lier le contenu des cellules de 2 feuilles réciproquement entre elles, c'est à dire qu'une modification sur une feuille s'affiche également sur l'autre. J'ai testé quelques bouts de code mais soit je génère une boucle infinie, soit ca na marche tout simplement pas.
    Une solution?

    Cordialement

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Une solution est tester la feuille active

    sur la premiere feuille

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    If Target.Address(False, False) = "A1" Then
        If ActiveSheet.Name = Me.Name Then Sheets("Feuil2").Range("A1") = Target.Value
    End If
     
    End Sub
    Sur la deuxieme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    If Target.Address(False, False) = "A1" Then
        If ActiveSheet.Name = Me.Name Then Sheets("Feuil1").Range("A1") = Target.Value
    End If
     
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 48
    Par défaut
    Merci de ta réponse rapide, cependant comment l'adapter pour que cela fonction sur toute les cellules de la feuille et pas seulement sur A1?

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Comme cela

    C'est encore plus court

    Feuil 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    If ActiveSheet.Name = Me.Name Then Sheets("Feuil2").Range(Target.Address) = Target.Value
     
    End Sub

    Feuil 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    If ActiveSheet.Name = Me.Name Then Sheets("Feuil1").Range(Target.Address) = Target.Value
     
    End Sub

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 48
    Par défaut
    Désolé, ça ne fonctionne pas

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    J'ai complété la proposition de mon précédent post

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 48
    Par défaut
    Nickel, merci beaucoup.

    Dernière chose, je risque d'avoir plusieurs feuilles à mettre côte en côte sur une sorte de feuille récapitulative et je voudrais que ce soit sur le même principe: une modification sur les premières feuilles se recopie automatiquement sur la feuille récap et une modification sur la feuille récap se recopie sur la feuille d'origine correspondante.

    Est-ce possible?

  8. #8
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Ou une autre proposition en utilisant Workbook_SheetChange.
    Code à mettre dans le module ThisWorkbook

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim ShName As String
     
    If InStr("Feuil1|Feuil2", Sh.Name) > 0 Then
        ShName = "Feuil1"
        If Sh.Name = "Feuil1" Then ShName = "Feuil2"
        Application.EnableEvents = False
        Sheets(ShName).Range(Target.Address).Value = Target.Value
        Application.EnableEvents = True
    End If
    End Sub

  9. #9
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Je ne comprend pas bien le principe.
    Une feuille recap qui est égal aux premières feuilles sans faire de somme ou une autre opération.
    De plus si je modifie la recap comment savoir sur quelle feuille de destination aller copier la valeur

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 48
    Par défaut
    Par exemple, les colonnes A à D de la feuille 1 liées aux colonnes A à D de la feuille récap et les colonnes A à D de la feuille 2 liées aux colonnes E à H de la feuille récap

  11. #11
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Dans ce cas, il te faudra gérer les destinations suivant la source

    Code de la feuille recap
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    Select Case Target.Column
     
        Case 1 To 4
            If ActiveSheet.Name = Me.Name Then
                Sheets("Feuil2").Range(Target.Address).Value = Target.Value
            End If
        Case 5 To 8
            If ActiveSheet.Name = Me.Name Then
                Sheets("Feuil3").Cells(Target.Row, Target.Column - 4).Value = Target.Value
            End If
    End Select
     
    End Sub
    Code de la feuille 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case Target.Column
     
        Case 1 To 4
            If ActiveSheet.Name = Me.Name Then
                Sheets("Recap").Range(Target.Address).Value = Target.Value
            End If
     
    End Select
    End Sub
    Code de la feuille 3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case Target.Column
     
        Case 1 To 4
            If ActiveSheet.Name = Me.Name Then
                Sheets("Recap").Cells(Target.Row, Target.Column + 4) = Target.Value
            End If
     
    End Select
    End Sub

  12. #12
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 48
    Par défaut
    Y a un probleme avec la feuille recap, une modification dans n'importe quelle colonne se répercute sur les 2 autres feuilles au lieu de ne se répercuter que sur la feuille correspondante

  13. #13
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Vérifie ton code car pas de problème sur ma version

  14. #14
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 48
    Par défaut
    Pourrais-tu joindre ton fichier d'essai stp, parce que je ne comprends pas pourquoi ca ne fonctionne pas chez moi

  15. #15
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756

  16. #16
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 48
    Par défaut
    Ton classeur ne fonctionne pas non plus chez moi, il ne se passe rien qd j'entre des valeurs

  17. #17
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Tu es sous quelle version d'excel (ici 2003)

  18. #18
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 48
    Par défaut
    2010.
    Tu penses que ça change quelque chose?

  19. #19
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    As tu activé les macros

  20. #20
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 48
    Par défaut
    Oui

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Toutes versions] Liaison dynamique entre 2 feuilles
    Par anubisme dans le forum Conception
    Réponses: 7
    Dernier message: 24/02/2015, 16h10
  2. [PHPExcel] Récupération des valeurs via liaison vers une autre feuille
    Par thbmath dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 05/12/2012, 21h41
  3. VBA liaison dynamique entre plusieurs feuilles
    Par impur dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/07/2010, 02h06
  4. Réponses: 1
    Dernier message: 03/01/2006, 09h27
  5. [EXCEL] copier une feuille sans changer les liaisons
    Par DidRocks dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/09/2005, 13h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo