Sub Worksheet_Change

  • Initiateur de la discussion JEAN MICHEL
  • Date de début
J

JEAN MICHEL

Guest
bonjour a tous

j'ai applique la procedure" Sub Worksheet_Change"dans une feuille,je souhaiterais que ce code s'effectue uniquement lorsque" C1 =1" et que la cellule selectionne retrouve sa valeur d' avant le clic si C1different de 1

MERCI A TOUS ET BON DIMANCHE

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("a1:B17")) Is Nothing Then
Range("A1:B17").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("a1").Select
End If
End Sub
 
O

omicron

Guest
Bonsoir Jean-Michel,

Pour répondre à ton problème, je pense qu'il faudrait :

1. A l'ouverture du classeur (Evènement WorkBook_Open)
Créer une feuille "Save" si elle n'existe pas
Lui donner le nom "Save" et la rendre invisible
Sauver cellules "A1:B17" de la feuille "Feuil1" dans feuille "Save"

2. A chaque changement de la feuille (Evènement Worksheet_Change)
Tester si la cellule modifiée fait partie du Range A1:B17
Si Oui : Tester si C1 = 1
Si Oui : Sauver cellules "A1:B17" de la feuille "Feuil1" dans feuille "Save"
Si Non: Restaurer cellules "A1:B17" de la Feuil 1 à partir des feuille "Save"

3. A la fermeture du classeur (Evènement Workbook_BeforeClose)
Supprimer la feuille "Save"

Si cette proposition te convient et que tu as besoin d'un coup de main pour le code, recontacte moi.

Sinon bon courage pour la suite.

Bien sur, il y a certainement d'autres possibilités .....

Cordialement.

Omicron.
 

Discussions similaires

Statistiques des forums

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