Enregistrez le classeur après avoir modifié la cellule spécifiée avec vba Excel

Parfois, nous travaillons avec des données tellement importantes qu’il vaut toujours la peine de les sauvegarder dès qu’un changement a été apporté à la cellule ou à la plage sélectionnée. Il ne s’agit que d’une macro qui vous permet de définir une plage de cellules dans laquelle les modifications de données vous obligeront à enregistrer un classeur.
Comment ca marche?
Le secret de ce code est la méthode Intersect. Parce que nous ne voulons pas que le changement de valeurs sauvegarde immédiatement les données, nous allons utiliser la méthode Intersect, qui vérifie si la cellule dans laquelle les données ont été modifiées se trouve dans une plage spécifique (dans ce cas C5: C16) . sera fait.
La méthode Intersect renvoie deux résultats possibles: l’objet Range définissant le lieu d’intersection de deux plages. En bref: en utilisant la méthode Intersect, nous devons vérifier si la cellule cible se situe dans une certaine plage. Sur cette base, nous pouvons décider de sauvegarder ou non le classeur.

Private Sub Worksheet_Change(ByVal Target As Range)
'Étape 1: Vérification si la cellule modifiée se trouve dans la plage spécifiée.
If Intersect(Target, Range("C5:C16")) Is Nothing Then
'Étape 2: Si ce n'est pas là, quittez
Exit Sub
'Étape 3: S'il y en a un, sauvegardez la feuille de calcul
Else
ActiveWorkbook.Save
'Étape 4:' Conclusion pour la déclaration If
End If
End Sub

Commentaires:

1. À la première étape, utilisez la méthode Intersect pour vérifier si la cellule spécifiée (celle qui a été modifiée) se trouve dans la plage indiquée. Rien ne signifie que la cellule est hors de portée.
2. Si la cellule ne se trouve pas dans la plage indiquée, la macro est arrêtée à la deuxième étape et la procédure est terminée.

3. Si, toutefois, la cellule est présente, à la troisième étape du classeur actif, la méthode Save est lancée, ce qui remplace la version précédente du fichier.
4. Dans la quatrième étape, nous terminons l’instruction If. Chaque fois qu’une instruction If … Then … Else est créée, elle doit être terminée par End If.
Comment utiliser la macro?
Pour implémenter cette macro, copiez et collez son code dans la fenêtre Code. Le placer ici vous permet de l’exécuter chaque fois que vous modifiez la feuille.
1. Utilisez les touches Alt + F11 pour activer Visual Basic Editor.
2. Dans la fenêtre Projet, recherchez le bon projet ou classeur et cliquez sur le signe + en regard de celui-ci. Toutes les feuilles seront affichées.
3. Sélectionnez la feuille dans laquelle vous voulez exécuter le code.
4. Sélectionnez l’événement Change dans la liste déroulante Event.
5. Après avoir entré le code, ajustez-le selon vos besoins, en changeant la plage de cellules.
S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x