Cellules à valeurs liées

Résolu/Fermé
Excelons - 24 nov. 2022 à 16:04
ccm81 Messages postés 10904 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 décembre 2024 - 28 nov. 2022 à 11:16

Bonjour,

Je souhaiterai lier des cellules de telles sortes à ce que lorsque je modifie une donnée dans l'une, cela modifie dans l'autre et vice-versa. 

Je m'explique :

J'ai une feuille 1 dans laquelle l'utilisateur doit fournir des données d'entrée (valeurs manuelles et listes déroulantes) et une feuille 2 dans laquelle l'utilisateur doit pouvoir avoir re fournir ces mêmes données d'entrée en faisant en sorte que la modification de l'une modifie automatiquement l'autre.

Par exemple, si j'écris 32 dans la cellule B2 de la feuille 1, la cellule C3 de la feuille 2 prend la valeur 32. Puis je décide de mettre la valeur 80 dans la cellule C3 de la feuille 2, la cellule B2 de la feuille 1 prend la valeur 80.

Merci d'avance


Windows / Edge 107.0.1418.35

5 réponses

ccm81 Messages postés 10904 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 décembre 2024 2 428
24 nov. 2022 à 17:27

Bonjour

Bizarre comme question. Possible avec macro

https://www.cjoint.com/c/LKyqAkOgA3B

Alt-F11 pour accéder au code dans les modules des feuilles 1 et 2

Cdlmnt

0

Malheureusement je n'arrive pas à ouvrir ton fichier Excel (restrictions du pare feu entreprise) mais j'ai tester avec les macro en accedant au module des feuille et j'ai mis les lignes suivantes :

Code Feuille 1 :

If Not Intersect(Target, Range("B8")) Is Nothing Then
    
        Worksheets("Feuille 2").Range("Position").Value = Target
         
    End If

Code Feuille 2 : 

If Not Intersect(Target, Range("Position")) Is Nothing Then
    
        Worksheets("Feuille 1").Range("B8").Value = Target
         
    End If

Sauf que ça créer visiblement une boucle infinie qui ferme le logiciel Excel ^^'

0
ccm81 Messages postés 10904 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 décembre 2024 2 428
28 nov. 2022 à 10:40

Bonjour

Il fut inhiber la réaction à l’événement change (Application.EnableEvents) avant de copier et ne  pas oublier de le réactiver après

Feuille 1

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("B2")) Is Nothing Then
  Application.EnableEvents = False
  Sheets("Feuil2").Range("C3").Value = Target.Value
End If
Application.EnableEvents = True
End Sub

Feuille 2

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("C3")) Is Nothing Then
  Application.EnableEvents = False
  Sheets("Feuil1").Range("B2").Value = Target.Value
End If
Application.EnableEvents = True
End Sub

Cdlmnt

0

Bonjour,

C'est parfait, ça fait exactement ce dont j'avais besoin.

Un grand merci pour votre aide.

Cordialement

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10904 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 décembre 2024 2 428
28 nov. 2022 à 11:16

De rien

Si c'est fini, merci de mettre le sujet à Résolu : les trois petits points dans ton premier message

Cdlmnt

0