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

Réponses
5
Affichages
280

Statistiques des forums

Discussions
312 490
Messages
2 088 884
Membres
103 982
dernier inscrit
krakencolas