Cellules à valeurs liées
Résoluccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
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
- Cellules à valeurs liées
- Formule excel pour additionner plusieurs cellules - Guide
- Verrouiller cellules excel - Guide
- Concatener deux cellules excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel liste de valeurs - Guide
5 réponses
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
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 ^^'
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
Bonjour,
C'est parfait, ça fait exactement ce dont j'avais besoin.
Un grand merci pour votre aide.
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question