XL 2016 VBA soustraire un chiffre à la valeur de la cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

AHK

XLDnaute Nouveau
Bonjour,

J'ai un petit soucis.
J'ai en colonne C des chiffres dans ces cellules
et je voudrais grâce a un code VBA soustraire 7 (a chaque chiffre) a chaque fois que la valeur de la cellule C change.

J'ai essayé :

Sub HS()

Dim DernLigne As Long

For ligne = 6 To 42

Cells(ligne, 4).Value = Cells(ligne, 3).Value - 7


Next ligne

End Sub

J'ai un message d'erreur "Incompatibilité de type"
 

Pièces jointes

Bonsoir AHK,

Bien plus simple, directement dans la feuille
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("C6:C42")) Is Nothing Then
    Application.EnableEvents = False
    Target.Value = Target.Value - 7
    Application.EnableEvents = True
  End If
End Sub

On peut même supprimer le code de la feuille et en mettre un dans ThisWorkbook
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  ' Vérifier que ce ne soit pas le calendrier ou les travaux, sinon on sort
  If InStr(1, Sh.Name, "Calendrier") > 0 Or InStr(1, Sh.Name, "Travbaux") > 0 Then Exit Sub
  ' Vérifier ou est modifié la valeur
  If Not Intersect(Target, Sh.Range("C6:C42")) Is Nothing Then
    Application.EnableEvents = False
    Target.Value = Target.Value - 7
    Application.EnableEvents = True
  End If
End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
180
Réponses
3
Affichages
193
Retour