Je cherche le moyen de lier 2 cellules entre elles de façon à A1 soit = à B1
et vice versa.
C'est à dire que la modification de l'une des 2 cellules entraine la mise à
jour de l'autre dans les 2 sens, afin qu'elles aient toujours le même contenu
(quelle que soit la cellule modifiée).
Je sais que cela est possible, mais je ne parviens plus à trouver le code
VBA qui le permette...
Private Sub Worksheet_Change(ByVal zz As Range) If zz.Address = "$A$1" Then [B1] = [A1] If zz.Address = "$B$1" Then [A1] = [B1] End Sub
AV
papou
Bonjour Private Sub Worksheet_Change(ByVal Target As Range) Select Case Target.Address Case Is = "$A$1" Range("B1").Value = Target.Value Case Is = "$B$1" Range("A1").Value = Target.Value End Select End Sub
Cordialement Pascal
"CARPENEM" a écrit dans le message de news:
BONJOUR,
Je cherche le moyen de lier 2 cellules entre elles de façon à A1 soit = à B1 et vice versa. C'est à dire que la modification de l'une des 2 cellules entraine la mise à jour de l'autre dans les 2 sens, afin qu'elles aient toujours le même contenu (quelle que soit la cellule modifiée). Je sais que cela est possible, mais je ne parviens plus à trouver le code VBA qui le permette...
Merci de votre aide
Bonjour
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case Is = "$A$1"
Range("B1").Value = Target.Value
Case Is = "$B$1"
Range("A1").Value = Target.Value
End Select
End Sub
Cordialement
Pascal
"CARPENEM" <CARPENEM@discussions.microsoft.com> a écrit dans le message de
news: 5150B86F-C4A5-4BAC-BD7F-8FA52B646B8A@microsoft.com...
BONJOUR,
Je cherche le moyen de lier 2 cellules entre elles de façon à A1 soit = à
B1
et vice versa.
C'est à dire que la modification de l'une des 2 cellules entraine la mise
à
jour de l'autre dans les 2 sens, afin qu'elles aient toujours le même
contenu
(quelle que soit la cellule modifiée).
Je sais que cela est possible, mais je ne parviens plus à trouver le code
VBA qui le permette...
Bonjour Private Sub Worksheet_Change(ByVal Target As Range) Select Case Target.Address Case Is = "$A$1" Range("B1").Value = Target.Value Case Is = "$B$1" Range("A1").Value = Target.Value End Select End Sub
Cordialement Pascal
"CARPENEM" a écrit dans le message de news:
BONJOUR,
Je cherche le moyen de lier 2 cellules entre elles de façon à A1 soit = à B1 et vice versa. C'est à dire que la modification de l'une des 2 cellules entraine la mise à jour de l'autre dans les 2 sens, afin qu'elles aient toujours le même contenu (quelle que soit la cellule modifiée). Je sais que cela est possible, mais je ne parviens plus à trouver le code VBA qui le permette...
Merci de votre aide
CARPENEM
Re
Rien ne se passe quand que copie le code dans le module d'une feuille vierge...
Ai-je oublié qque chose ,
Merci encore
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range) If zz.Address = "$A$1" Then [B1] = [A1] If zz.Address = "$B$1" Then [A1] = [B1] End Sub
AV
Re
Rien ne se passe quand que copie le code dans le module d'une feuille
vierge...
Ai-je oublié qque chose ,
Merci encore
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address = "$A$1" Then [B1] = [A1]
If zz.Address = "$B$1" Then [A1] = [B1]
End Sub
Rien ne se passe quand que copie le code dans le module d'une feuille vierge...
** Si tu as bien mis le code dans le module de la feuille,
Ai-je oublié qque chose ,
** .........oui : la saisie en A1 ou B1 !
AV
CARPENEM
La saisie en A1 ; j'y avais pensé... Voilà ce que je fais : J'ouvre un classeur vierge, J'ouvre VBA, J'insère un module dans la feuli1!,j'y copie le module que tu m'as indiqué, je ferme VBA. Là j'entre une donnée dans A1... et B1 ne change pas... et vice versa J'ai tenté la même chose avec le code de PAPOU : idem c'est pourquoi je pense être passé a coté de qque chose...
Merci de votre patience, je suis un néophyte obstiné qui butte depuis 3 jours sur ce PB!
Rien ne se passe quand que copie le code dans le module d'une feuille vierge...
** Si tu as bien mis le code dans le module de la feuille,
Ai-je oublié qque chose ,
** .........oui : la saisie en A1 ou B1 !
AV
La saisie en A1 ; j'y avais pensé...
Voilà ce que je fais :
J'ouvre un classeur vierge, J'ouvre VBA, J'insère un module dans la
feuli1!,j'y copie le module que tu m'as indiqué, je ferme VBA.
Là j'entre une donnée dans A1... et B1 ne change pas... et vice versa
J'ai tenté la même chose avec le code de PAPOU : idem
c'est pourquoi je pense être passé a coté de qque chose...
Merci de votre patience, je suis un néophyte obstiné qui butte depuis 3
jours sur ce PB!
Rien ne se passe quand que copie le code dans le module d'une feuille
vierge...
** Si tu as bien mis le code dans le module de la feuille,
La saisie en A1 ; j'y avais pensé... Voilà ce que je fais : J'ouvre un classeur vierge, J'ouvre VBA, J'insère un module dans la feuli1!,j'y copie le module que tu m'as indiqué, je ferme VBA. Là j'entre une donnée dans A1... et B1 ne change pas... et vice versa J'ai tenté la même chose avec le code de PAPOU : idem c'est pourquoi je pense être passé a coté de qque chose...
Merci de votre patience, je suis un néophyte obstiné qui butte depuis 3 jours sur ce PB!
Rien ne se passe quand que copie le code dans le module d'une feuille vierge...
** Si tu as bien mis le code dans le module de la feuille,
Ai-je oublié qque chose ,
** .........oui : la saisie en A1 ou B1 !
AV
MichDenis
Copie cette petite macro quelque part dans ton code et exécute là une fois. Cette macro a pour but de réactiver les procédures événementielles.
'---------------------- Sub Test() Application.EnableEvents = False End Sub '----------------------
Maintenant, essaie la procédure suggérée par AV.
"CARPENEM" a écrit dans le message de news:
La saisie en A1 ; j'y avais pensé... Voilà ce que je fais : J'ouvre un classeur vierge, J'ouvre VBA, J'insère un module dans la feuli1!,j'y copie le module que tu m'as indiqué, je ferme VBA. Là j'entre une donnée dans A1... et B1 ne change pas... et vice versa J'ai tenté la même chose avec le code de PAPOU : idem c'est pourquoi je pense être passé a coté de qque chose...
Merci de votre patience, je suis un néophyte obstiné qui butte depuis 3 jours sur ce PB!
Rien ne se passe quand que copie le code dans le module d'une feuille vierge...
** Si tu as bien mis le code dans le module de la feuille,
Ai-je oublié qque chose ,
** .........oui : la saisie en A1 ou B1 !
AV
Copie cette petite macro quelque part dans ton code et
exécute là une fois. Cette macro a pour but de réactiver
les procédures événementielles.
'----------------------
Sub Test()
Application.EnableEvents = False
End Sub
'----------------------
Maintenant, essaie la procédure suggérée par AV.
"CARPENEM" <CARPENEM@discussions.microsoft.com> a écrit dans le message de news:
5126A7B1-D696-407A-A307-6B49CBA5353B@microsoft.com...
La saisie en A1 ; j'y avais pensé...
Voilà ce que je fais :
J'ouvre un classeur vierge, J'ouvre VBA, J'insère un module dans la
feuli1!,j'y copie le module que tu m'as indiqué, je ferme VBA.
Là j'entre une donnée dans A1... et B1 ne change pas... et vice versa
J'ai tenté la même chose avec le code de PAPOU : idem
c'est pourquoi je pense être passé a coté de qque chose...
Merci de votre patience, je suis un néophyte obstiné qui butte depuis 3
jours sur ce PB!
Rien ne se passe quand que copie le code dans le module d'une feuille
vierge...
** Si tu as bien mis le code dans le module de la feuille,
Copie cette petite macro quelque part dans ton code et exécute là une fois. Cette macro a pour but de réactiver les procédures événementielles.
'---------------------- Sub Test() Application.EnableEvents = False End Sub '----------------------
Maintenant, essaie la procédure suggérée par AV.
"CARPENEM" a écrit dans le message de news:
La saisie en A1 ; j'y avais pensé... Voilà ce que je fais : J'ouvre un classeur vierge, J'ouvre VBA, J'insère un module dans la feuli1!,j'y copie le module que tu m'as indiqué, je ferme VBA. Là j'entre une donnée dans A1... et B1 ne change pas... et vice versa J'ai tenté la même chose avec le code de PAPOU : idem c'est pourquoi je pense être passé a coté de qque chose...
Merci de votre patience, je suis un néophyte obstiné qui butte depuis 3 jours sur ce PB!
Rien ne se passe quand que copie le code dans le module d'une feuille vierge...
** Si tu as bien mis le code dans le module de la feuille,
Ai-je oublié qque chose ,
** .........oui : la saisie en A1 ou B1 !
AV
AV
J'ouvre un classeur vierge, J'ouvre VBA, J'insère un module dans la feuli1!,j'y copie le module que tu m'as indiqué, je ferme VBA.
Il n'y a pas a insérer de module !
Clic droit sur le nom de l'onglet >> Visualiser le code >> Copier/coller le code fourni Et refais les tests
PS : Un doute m'assaille : Tu ne fonctionnerais quand même pas avec XL5 ou XL95 ?
AV
J'ouvre un classeur vierge, J'ouvre VBA, J'insère un module dans la
feuli1!,j'y copie le module que tu m'as indiqué, je ferme VBA.
Il n'y a pas a insérer de module !
Clic droit sur le nom de l'onglet >> Visualiser le code >> Copier/coller le
code fourni
Et refais les tests
PS : Un doute m'assaille :
Tu ne fonctionnerais quand même pas avec XL5 ou XL95 ?
CA MARCHE ! ...Je savais bien que je merdouillais quelque part
Un grand merci pour vos précieux conseils
CARPENEM NB j'ai EXCEL 2003
J'ouvre un classeur vierge, J'ouvre VBA, J'insère un module dans la feuli1!,j'y copie le module que tu m'as indiqué, je ferme VBA.
Il n'y a pas a insérer de module !
Clic droit sur le nom de l'onglet >> Visualiser le code >> Copier/coller le code fourni Et refais les tests
PS : Un doute m'assaille : Tu ne fonctionnerais quand même pas avec XL5 ou XL95 ?
AV
CARPENEM
Rebonjour,
Ca marche... mais lorsque je change une valeur dans l'une ou l'autre des cellules, la feuille devient indisponible pendant près de 5 secondes (le mot "itération" se met à clignoter dans la barre d'état en bas à gauche). Je ne peux pas décocher l'option itération (présence de références circulaires) Y a t il moyen d'éviter de temps d'attente ?
Merci d'avance
J'ouvre un classeur vierge, J'ouvre VBA, J'insère un module dans la feuli1!,j'y copie le module que tu m'as indiqué, je ferme VBA.
Il n'y a pas a insérer de module !
Clic droit sur le nom de l'onglet >> Visualiser le code >> Copier/coller le code fourni Et refais les tests
PS : Un doute m'assaille : Tu ne fonctionnerais quand même pas avec XL5 ou XL95 ?
AV
Rebonjour,
Ca marche... mais lorsque je change une valeur dans l'une ou l'autre des
cellules, la feuille devient indisponible pendant près de 5 secondes (le mot
"itération" se met à clignoter dans la barre d'état en bas à gauche).
Je ne peux pas décocher l'option itération (présence de références
circulaires)
Y a t il moyen d'éviter de temps d'attente ?
Merci d'avance
J'ouvre un classeur vierge, J'ouvre VBA, J'insère un module dans la
feuli1!,j'y copie le module que tu m'as indiqué, je ferme VBA.
Il n'y a pas a insérer de module !
Clic droit sur le nom de l'onglet >> Visualiser le code >> Copier/coller le
code fourni
Et refais les tests
PS : Un doute m'assaille :
Tu ne fonctionnerais quand même pas avec XL5 ou XL95 ?
Ca marche... mais lorsque je change une valeur dans l'une ou l'autre des cellules, la feuille devient indisponible pendant près de 5 secondes (le mot "itération" se met à clignoter dans la barre d'état en bas à gauche). Je ne peux pas décocher l'option itération (présence de références circulaires) Y a t il moyen d'éviter de temps d'attente ?
Merci d'avance
J'ouvre un classeur vierge, J'ouvre VBA, J'insère un module dans la feuli1!,j'y copie le module que tu m'as indiqué, je ferme VBA.
Il n'y a pas a insérer de module !
Clic droit sur le nom de l'onglet >> Visualiser le code >> Copier/coller le code fourni Et refais les tests
PS : Un doute m'assaille : Tu ne fonctionnerais quand même pas avec XL5 ou XL95 ?
AV
AV
Modifie le code comme suit :
Private Sub Worksheet_Change(ByVal zz As Range) Application.EnableEvents = False If zz.Address = "$A$1" Then [B1] = [A1] If zz.Address = "$B$1" Then [A1] = [B1] Application.EnableEvents = True End Sub
PS : les références circulaires c'est pas une vraie bonne idée...
AV
Modifie le code comme suit :
Private Sub Worksheet_Change(ByVal zz As Range)
Application.EnableEvents = False
If zz.Address = "$A$1" Then [B1] = [A1]
If zz.Address = "$B$1" Then [A1] = [B1]
Application.EnableEvents = True
End Sub
PS : les références circulaires c'est pas une vraie bonne idée...
Private Sub Worksheet_Change(ByVal zz As Range) Application.EnableEvents = False If zz.Address = "$A$1" Then [B1] = [A1] If zz.Address = "$B$1" Then [A1] = [B1] Application.EnableEvents = True End Sub
PS : les références circulaires c'est pas une vraie bonne idée...