Plage de cellule miroir

  • Initiateur de la discussion Initiateur de la discussion msieurrosé
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

msieurrosé

XLDnaute Nouveau
Bonjour,

Voici mon petit problème, je souhaiterai écrire une macro qui me permette d'avoir 2 plages de cellules dans 2 feuilles distinctes qui soient parfaitement identique (miroir) => lorsque je change la valeur d'une cellule de cette plage dans la feuille 1 cela change la valeur de la même cellule dans la feuille 2 et vice versa

exemple :

feuille 1 : plage de cellule (A1:C5) en miroir avec la même plage de la feuille 2
si je tape "chien" dans la cellule A2 de la feuille 1 => la cellule A2 de la feuille 2 prend la même valeur
si je tape "chat" dans la cellule A2 de la feuille 2 => la cellule A2 de la feuille 1 prend la valeur "chat" et non plus "chien"

voici la macro qui me permet de créer un miroir entre deux cellules définies d'une même page :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
[B1] = Target
ElseIf Target.Address = "$B$1" Then
Application.EnableEvents = False
[A1] = Target
End If
Application.EnableEvents = True
End Sub

J'ai essayé de la modifier pour obtenir ce que je recherche mais sans succès, si vous avez une solution à me proposer ce serait très sympa

merci d'avance de votre aide

Jo
 
Re : Plage de cellule miroir

Bonsoir Msieurrosé, bonsoir le forum,

Tout d'abord bienvenu dans ce forum.

Je vous propose cette solution. Dans l'onglet Feuil1:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'si le changement à lieu ailleurs que dans la plage A1:C5, sort de la procédure
If Application.Intersect(Target, Range("A1:C5")) Is Nothing Then Exit Sub
'donne la valeur de la cellule éditée à la même cellule de l'onglet "Feuil2"
Sheets("Feuil2").Range(Target.Address).Value = Target.Value
End Sub
dans l'onglet Feuil2 :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'si le changement à lieu ailleurs que dans la plage A1:C5, sort de la procédure
If Application.Intersect(Target, Range("A1:C5")) Is Nothing Then Exit Sub
'donne la valeur de la cellule éditée à la même cellule de l'onglet "Feuil2"
Sheets("Feuil1").Range(Target.Address).Value = Target.Value
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
493
Retour