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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 : 51
    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 : 51
    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 : 51
    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
    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 : 51
    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)

  8. #8
    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?

  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 : 51
    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

  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
    Oui

  11. #11
    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
    Bonsoir
    Peut être que les évènements sont désactivés. Pour les réactiver, lance cette macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub ActiveEvents()
        Application.EnableEvents = True
    End Sub
    Ensuite une proposition à 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
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim ShName As String
    Dim k As Integer
     
    If InStr("Feuil1|Feuil2|Recap", Sh.Name) > 0 Then
        ShName = "Recap"
        If Sh.Name = "Recap" Then
            If Target.Column <= 4 Then
                ShName = "Feuil1"
            ElseIf Target.Column <= 8 Then
                ShName = "Feuil2"
                k = -4
            End If
        ElseIf Sh.Name = "Feuil2" Then
            k = 4
        End If
        On Error Resume Next
        Application.EnableEvents = False
        Sheets(ShName).Range(Target.Offset(0, k).Address).Value = Target.Value
        Application.EnableEvents = True
    End If
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

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