!!! Ecrire dans une feuille désactivée !!!

  • Initiateur de la discussion fabrice
  • Date de début
F

fabrice

Guest
Bonjour à tous

Je cherche à exécutuer une macro si on change de feuille dans mon classeur. Pour cela, j'utilise la fonction : Worksheet_desactivate. Le probleme est que dans cette fonction, si l'utilisateur répond oui à une msgbox, alors on doit écrire, dans la feuille qui vient d'être désactive, dans la cellule 1.
Le probleme est que je n'arrive pas écrire!!! Est ce que vous auriez une solution???

Si vous voulez je peux vous faire passer mon Code Merci de votre aide

FAb
 
@

@+Thierry

Guest
Salut Fab

Ou je n'ai rien compris où c'est très simple....

Private Sub Worksheet_Deactivate()
MsgBox "Ne me quitte pas", , "Jacques Brel"
Range("A1") = "J'ai été lachement abandonnée par Fab à " & Format(Now, "HH:MM:SS")
End Sub

Ce qu'il faut c'est pas de Select of course

Bonne Journée
@+Thierry
 
F

fabrice

Guest
Salut Thierry

C vrai que ce n'est pas tres claire.

J'ai une feuille "synthese". Je voudrais en fait que dès que je la quiite (pour une autre feuille), une message box apparaisse. Jusque la, ca va.

Mon problème est que la message box propose OUI ou NOn. Si on mais oui, je vourdais ecrire dans la cellule A1 et A2 de la feuille synthese la valeur1, sinon, la valeur 0.

Voila le code que j'ai entré:

Private Sub Worksheet_Deactivate()
reponse2 = MsgBox("voulez vous garder ces données???", vbYesNo)
If reponse2 = vbYes Then
Sheets("Synthese").Range("a1") = "1" And Sheets("Synthese").Range("a2") = "1"
Else
Cells(1, 1) = ""
End If
If reponse2 = vbNo Then
Sheets("Synthese").Range("a1").Value = "0" And Sheets("Synthese").Range("a2").Value = "0"
End If
End Sub

Ou y a t il une erreur????

Merci de ton aide,
FAB
 
M

Max

Guest
Private Sub Worksheet_Deactivate()
reponse2 = MsgBox("voulez vous garder ces données???", vbYesNo)
If reponse2 = vbYes Then
Sheets("Synthese").Range("a1") = "1"
Sheets("Synthese").Range("a2") = "1"
Else
Cells(1, 1) = ""
End If

If reponse2 = vbNo Then
Sheets("Synthese").Range("a1").Value = "0"
Sheets("Synthese").Range("a2").Value = "0"
End If
End Sub

Essaie comme ça et ne me criez pas dessus si je dis des conn....je fais de mon mieux.
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 519
dernier inscrit
Thomas_grc11