Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

liaison réciproque entre 2 cellules

6 réponses
Avatar
Greg
Bonjour,

Je suis très présent aujourd'hui sur le forum et j'en suis désolé. En fait,
Nous avons fait un bilan de nos outils avec les collègues et souhaitons
changer quelques petites choses. Il n'y a que vous pour m'aider...

Voilà, je voudrais créer des liaisons réciproques entre 2 cellules. J'ai
trouvé sur un site cette réponse:

"Voici le code pour la feuille 1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$2" Then
Sheets("Feuil2").Range("B15") = Target
End If
End Sub

En clair : Si dans la feuille 1, C2 a changé, mettre B15 à jour dans la
feuille 2.

et pour la feuille 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$15" Then
Sheets("Feuil1").Range("C2") = Target
End If
End Sub

En clair : Si dans la feuille 2, B15 a changé, mettre C2 à jour dans la
feuille 1. "

J'ai tenté, mais rien ne se passe........

Pouvez-vous m'aider? Autre problème, j'ai pas mal de liens de ce genre à
faire (48 exactement)... Je suppose que je ne vais pas devoir écrire 96
codes différents (en comptant 2 codes à chaque fois).

Merci à vous

Greg

6 réponses

Avatar
Philippe.R
Bonsoir,
Chez moi, en collant bien les 2 procédures dans les modules de feuille
respectifs, ça fonctionne parfaitement
Pour ce qui est de généraliser le code sans avoir à le réécrire, tout dépend
de la similarité des duos à traiter.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
Bonjour,

Je suis très présent aujourd'hui sur le forum et j'en suis désolé. En
fait, Nous avons fait un bilan de nos outils avec les collègues et
souhaitons changer quelques petites choses. Il n'y a que vous pour
m'aider...

Voilà, je voudrais créer des liaisons réciproques entre 2 cellules. J'ai
trouvé sur un site cette réponse:

"Voici le code pour la feuille 1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$2" Then
Sheets("Feuil2").Range("B15") = Target
End If
End Sub

En clair : Si dans la feuille 1, C2 a changé, mettre B15 à jour dans la
feuille 2.

et pour la feuille 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$15" Then
Sheets("Feuil1").Range("C2") = Target
End If
End Sub

En clair : Si dans la feuille 2, B15 a changé, mettre C2 à jour dans la
feuille 1. "

J'ai tenté, mais rien ne se passe........

Pouvez-vous m'aider? Autre problème, j'ai pas mal de liens de ce genre à
faire (48 exactement)... Je suppose que je ne vais pas devoir écrire 96
codes différents (en comptant 2 codes à chaque fois).

Merci à vous

Greg




Avatar
Greg
Merci Philippe,

Je vais donc me la refaire, pour voir. J'ai dû me planter quelque part...

J'ai une question surement un peu idiote: Ce code fonctionne t'il sans
l'activer? (contrairement à une macro)

Pour ce qui est des nombreuses cellules, au départ c'est régulier. Après
moins. Ca donne quelque chose comme ça:

C3Ã(feuille1)
C4Ä(feuille1)
...
C15Á5(feuille1)

Puis

E3Ã(feuille2)
E4Ä(feuille2)
...
E15Á5(feuille2)

Puis

G3Ã(feuille3)
G4Ä(feuille3)
...
G15Á5(feuille3)

et enfin

I3Ã(feuille4)
I4Ä(feuille4)
...
I15Á5(feuille4)

Voilà.....

Est-ce compliquer à mettre en place?

Merci

Greg
Avatar
Jacky
Bonsoir,

Même réponse que Philippe.

--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonjour,

Je suis très présent aujourd'hui sur le forum et j'en suis désolé. En
fait, Nous avons fait un bilan de nos outils avec les collègues et
souhaitons changer quelques petites choses. Il n'y a que vous pour
m'aider...

Voilà, je voudrais créer des liaisons réciproques entre 2 cellules. J'ai
trouvé sur un site cette réponse:

"Voici le code pour la feuille 1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$2" Then
Sheets("Feuil2").Range("B15") = Target
End If
End Sub

En clair : Si dans la feuille 1, C2 a changé, mettre B15 à jour dans la
feuille 2.

et pour la feuille 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$15" Then
Sheets("Feuil1").Range("C2") = Target
End If
End Sub

En clair : Si dans la feuille 2, B15 a changé, mettre C2 à jour dans la
feuille 1. "

J'ai tenté, mais rien ne se passe........

Pouvez-vous m'aider? Autre problème, j'ai pas mal de liens de ce genre à
faire (48 exactement)... Je suppose que je ne vais pas devoir écrire 96
codes différents (en comptant 2 codes à chaque fois).

Merci à vous

Greg




Avatar
Philippe.R
Re,
Si les macros sont désactivées, le code ne fonctionnera pas ; de même en cas
de plantage au sein d'une macro qui désactiverait les évènements au début
pour les réactiver à la fin.
Selon ce que tu donnes comme exemple, tu devrais pouvoir t'en sortir avec 5
à 6 macros, du moins à première vue.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:
Merci Philippe,

Je vais donc me la refaire, pour voir. J'ai dû me planter quelque part...

J'ai une question surement un peu idiote: Ce code fonctionne t'il sans
l'activer? (contrairement à une macro)

Pour ce qui est des nombreuses cellules, au départ c'est régulier. Après
moins. Ca donne quelque chose comme ça:

C3Ã(feuille1)
C4Ä(feuille1)
...
C15Á5(feuille1)

Puis

E3Ã(feuille2)
E4Ä(feuille2)
...
E15Á5(feuille2)

Puis

G3Ã(feuille3)
G4Ä(feuille3)
...
G15Á5(feuille3)

et enfin

I3Ã(feuille4)
I4Ä(feuille4)
...
I15Á5(feuille4)

Voilà.....

Est-ce compliquer à mettre en place?

Merci

Greg







Avatar
Greg
Bonjour et merci pour vos réponses.

Après quelques petits réglages, ça fonctionne. En fait, quand je le faisais
dans un classeur vierge, ça fonctionnait, et pas dans mon classeur en cours.
J'ai dû faire en sorte que les deux cellules visées aient la même mise en
forme... et là, comme par magie, c'est OK!

Pouvez-vous m'aider pour mettre en place ces liaisons sans écrire 96 fois le
code... (cf. précédents post)?

Merci à vous...

greg

"Jacky" a écrit dans le message de
news:
Bonsoir,

Même réponse que Philippe.

--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonjour,

Je suis très présent aujourd'hui sur le forum et j'en suis désolé. En
fait, Nous avons fait un bilan de nos outils avec les collègues et
souhaitons changer quelques petites choses. Il n'y a que vous pour
m'aider...

Voilà, je voudrais créer des liaisons réciproques entre 2 cellules. J'ai
trouvé sur un site cette réponse:

"Voici le code pour la feuille 1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$2" Then
Sheets("Feuil2").Range("B15") = Target
End If
End Sub

En clair : Si dans la feuille 1, C2 a changé, mettre B15 à jour dans la
feuille 2.

et pour la feuille 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$15" Then
Sheets("Feuil1").Range("C2") = Target
End If
End Sub

En clair : Si dans la feuille 2, B15 a changé, mettre C2 à jour dans la
feuille 1. "

J'ai tenté, mais rien ne se passe........

Pouvez-vous m'aider? Autre problème, j'ai pas mal de liens de ce genre à
faire (48 exactement)... Je suppose que je ne vais pas devoir écrire 96
codes différents (en comptant 2 codes à chaque fois).

Merci à vous

Greg








Avatar
Jacky
Re...

Pouvez-vous m'aider pour mettre en place ces liaisons.....




Ceci copie de la feuille active vers les feuilles et plages que tu as
désigné ci-dessus dans ce fil
A placer dans la feuille ou se trouve les plages à copier
Alt+F11 et coller dans la fenêtre de droite.
'-----------
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, [c3:c15]) Is Nothing Then
[c3:c15].Copy Sheets("feuil1").[c3]
End If
If Not Intersect(Target, [e3:e15]) Is Nothing Then
[e3:e15].Copy Sheets("feuil2").[c3]
End If
If Not Intersect(Target, [g3:g15]) Is Nothing Then
[g3:g15].Copy Sheets("feuil3").[c3]
End If
If Not Intersect(Target, [i3:i15]) Is Nothing Then
[i3:i15].Copy Sheets("feuil4").[c3]
End If
Application.EnableEvents = True
End Sub
'------------
--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonjour et merci pour vos réponses.

Après quelques petits réglages, ça fonctionne. En fait, quand je le
faisais dans un classeur vierge, ça fonctionnait, et pas dans mon classeur
en cours. J'ai dû faire en sorte que les deux cellules visées aient la
même mise en forme... et là, comme par magie, c'est OK!

Pouvez-vous m'aider pour mettre en place ces liaisons sans écrire 96 fois
le code... (cf. précédents post)?

Merci à vous...

greg

"Jacky" a écrit dans le message de
news:
Bonsoir,

Même réponse que Philippe.

--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonjour,

Je suis très présent aujourd'hui sur le forum et j'en suis désolé. En
fait, Nous avons fait un bilan de nos outils avec les collègues et
souhaitons changer quelques petites choses. Il n'y a que vous pour
m'aider...

Voilà, je voudrais créer des liaisons réciproques entre 2 cellules. J'ai
trouvé sur un site cette réponse:

"Voici le code pour la feuille 1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$2" Then
Sheets("Feuil2").Range("B15") = Target
End If
End Sub

En clair : Si dans la feuille 1, C2 a changé, mettre B15 à jour dans la
feuille 2.

et pour la feuille 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$15" Then
Sheets("Feuil1").Range("C2") = Target
End If
End Sub

En clair : Si dans la feuille 2, B15 a changé, mettre C2 à jour dans la
feuille 1. "

J'ai tenté, mais rien ne se passe........

Pouvez-vous m'aider? Autre problème, j'ai pas mal de liens de ce genre à
faire (48 exactement)... Je suppose que je ne vais pas devoir écrire 96
codes différents (en comptant 2 codes à chaque fois).

Merci à vous

Greg