XL 2019 ecrire en même temps dans une cellule d'une autre feuille

pat66

XLDnaute Impliqué
Bonjour Le forum,

Je souhaite saisir un chiffre (ex:15) dans la cellule A5 de la feuille1 et qu'en même temps cela écrit (ex:15) dans la cellule A5 de la feuille 2.
et que sans aller sur la feuille 2, les cellules sur la feuille 2 qui en dépendent s'actualisent automatiquement

Merci pour votre aide

pat66
 
Solution
J'ai du mal à suivre, en PJ j'ai fait :
Si Feuil2 A5=10 alors Feuil1 A5 = Feuil2 B5 sinon on ne fait rien. Avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [A5]) Is Nothing Then
        If Target <> "" Then Sheets("Feuil1").[A5] = Sheets("Feuil2").[B5]
    End If
End Sub

pat66

XLDnaute Impliqué
Bonjour Sylvanu,

oui et non, car à la base on peut aussi saisir la cellule A5 de la feuille 1 directement.
En fait, je veux pouvoir forcer la cellule A5 de la feuille 1 en restant sur la feuille 2 et que les cellules de la feuille 2 qui dépendent de la cellule A5 tiennent compte de forçage

est ce plus clair ?
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Pas plus, car avec =Feuil1!A5 on ne touche pas à Feuil2, il suffit de modifier la cellule A5 de la feuil1 pour mettre à jour la feuil2.

Un autre essai en PJ où toute donnée entrée en Feuil1 est recopiée à la même place en Feuil2 avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    Sheets("Feuil2").Range(Target.Address) = Target
End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'ai du mal à suivre, en PJ j'ai fait :
Si Feuil2 A5=10 alors Feuil1 A5 = Feuil2 B5 sinon on ne fait rien. Avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [A5]) Is Nothing Then
        If Target <> "" Then Sheets("Feuil1").[A5] = Sheets("Feuil2").[B5]
    End If
End Sub
 

Pièces jointes

  • Modifications auto.xlsm
    16 KB · Affichages: 11

pat66

XLDnaute Impliqué
re, je crois que j'ai trouvé, qu'en pensez vous ?


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A5")) Is Nothing Then
Worksheets("feuil2").Range("A5").Value = Worksheets("feuil1("A5")
End If
End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Je n'ai rien compris.
D'après vos explications, quand on met Forçage à 10 alors on copie de la feuil2 vers la feuil1 et non le contraire.
D'autre part il faut le If Target <> "" pour ne pas faire de copie si Forçage est vide.
Ce que fait ma macro.
Sinon si avec la votre tout marche, conservez la. Mais dans ce cas vos explications étaient peu claires.
 

pat66

XLDnaute Impliqué
re,

Oui votre formule fait bien le taf, mais je souhaite "voir mon post 3", que la saisie dans A5 de la feuil2" écrive la valeur dans A5 de la feuil1, c'est ce que j'appelle un forçage, merci

votre remarque est juste, voici la correction
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A5")) Is Nothing Then
If Target <> "" then Worksheets("feuil1").Range("A5").Value = Worksheets("feuil2("A5")
End If
End Sub
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
320

Statistiques des forums

Discussions
312 091
Messages
2 085 212
Membres
102 821
dernier inscrit
jos78410