En VBA, egalité de cellule avec mise a jour automatique

Bonjour,

Etant novice en VBA, d'après tous les messages postés, j'ai réussi à faire ce que je souhaitais.

Cependant, je n'arrive pas à resoudre le pb suivant :

- Quel est la ligne de code à mettre pour qu'une cellule d'une feuille X soit égale la cellule Y ?

J'ai essayé ça : Sheets("Carnet de terrain").Range("C71").Copy Sheets("Chiffrage").Range("C97")

Le probleme est que quand je lance la macro, cela fonctionne; mais si par la suite je viens modifier la valeur dans la feuille "Carnet de terrain", la cellule C97 dans chiffrage ne se met pas à jour automatiquement.

En fait je pense qu'il faudrait un truc du style : Sheets("Carnet de terrain").Range("C71") = Sheets("Chiffrage").Range("C97") mais ca ne fonctionne pas ?

Qq1 pourrait-il m'aider svp ?

Bonjour Frac le forum

dans la cellule C97 de la feuille Chiffrage tu mets

= 'Carnet de terrain'!C71

a+

papou

Bonjour,

Il vous suffit de copier le code ci-après dans le module de la feuille("Carnet de terrain"):

Private Sub Worksheet_Change(ByVal Target As Range)

If Target = Range("C71") Then
Target = Range("C71")
Sheets("Chiffrage").Range("C97") = Target.Value

Else: End If

End Sub

Cdt et bon Dimanche

Air_2

Bonjour papou et air2,

J'ai essayé les 2 solutions mais ca ne marche pas ! je dois faire une boulette mais où ??? ....

J'ai mis pour la 1ere solution ca : (en exemple)

Sheets("Feuil2").Activate

Range("B2").Select = 'Feuil1'!C3

et là, ca bug !!!!

Quand à la seconde solution avec If, si je lance la macro, ca va directement au Else: End If

Merci de m'indiquer ce qui ne va pas ???


Bonjour papou et air2,

J'ai essayé les 2 solutions mais ca ne marche pas ! je dois faire une boulette mais où ??? ....

J'ai mis pour la 1ere solution ca : (en exemple)

Sheets("Feuil2").Activate

Range("B2").Select = 'Feuil1'!C3

et là, ca bug !!!!

Quand à la seconde solution avec If, si je lance la macro, ca va directement au Else: End If

Merci de m'indiquer ce qui ne va pas ???

Bonsoir,

En reprenant ton code :

Sheets("Feuil2").Activate
Range("B2").Select = 'Feuil1'!C3

Pouvez-vous essayer comme suit :

Sheets("Feuil2").Range("B2") = Sheets("Feuil1").Range("c3")

Bonne soirée

Cdt

Air_2

re air_2,

J'ai essayé le code, cela fonctionne, cela copie la valeur voulue.

Mais dans un second temps, si je viens modifier dans feuil1 la cellule C3, la cellule b2 dans feuil 2 ne se met pas automatiquement a jour.

En fait, en fin de macro, il faudrait que qd je clique dans la cellule b2 de feuil 2, il y aurait marqué = = 'Feuil1'! C71

Bonsoir,

Pouvez-vous essayer ce qui suit :

Sous la feuille1

Private Sub Worksheet_Change(ByVal Target As Range)
Feuil2.Range("b2") = Feuil1.Range("c3")
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Feuil1.Range("c3") = Feuil1.Range("c3")
End Sub

Sous la feuille 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
Feuil1.Range("c3") = Feuil2.Range("b2")
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Feuil2.Range("b2") = Feuil1.Range("c3")
End Sub

Bonne soirée

Cdt

Air_2

Bonsoir

D'après ce que je comprends et suite à l'énoncé de ton 1er post

essayes dans ta macro

Sheets("Chiffrage").Range("C97").Formula = "='Carnet de terrain'!C71"

Ca marche ! MERCI BCP banzai64 !!!!!!!!

Bonjour Banzai, Frac,

bah oui tu avais la réponse dans le post N°2 , tu peux regarder !!!

a+

papou

Rechercher des sujets similaires à "vba egalite mise jour automatique"