Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Compteur de nombre de changement de valeur d'une 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 !

Le Bourgeois

XLDnaute Nouveau
Bonjour à tous,

je me trouve en galère à créer un compteur de changement de cellule.

J'ai essayé de copier/coller des macros complètes en tentant de changer les target mais cela ne fonctionne qu'à moitié.

J'aimerais qu'à chaque fois que je change une valeur en colonne F, la colonne H incrémente et surtout, comprendre la logique de programmation derrière.

D'avance merci pour votre support et excellente journée.

Adrien
 

Pièces jointes

Bonjour Le Bourgeois,
A chaque modification de la colonne F La valeur de la cellule correspondante de H s'incrémente.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Then Exit Sub

        If Not Intersect(Target, Range("F2:F100")) Is Nothing Then

       Target.Offset(0, 2).Value = Target.Offset(0, 2).Value + 1

        End If

End Sub
 

Pièces jointes

Dernière édition:
Bonjour dg62
Ta réponse est bonne, mais à compléter (mise en mémoire - pour comparaison - de la valeur au selection_change) car l'évènement change est déclenché même si la nouvelle saisie est égale à la précédente. 😉
Je te laisse compléter.
 
Un GRAND MERCI l'équipe, je me rends compte de mes nombreuses erreurs. Par contre je ne comprends pas ou la macro décide d'écrire. Je ne vois pas la colonne H?

Bon confinement à vous
 
Dernière édition:
Bonjour le Fil,
Pour faire suite à la remarque de JmfMarques

VB:
Option Explicit
Public cel As Variant

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Then Exit Sub

        If Not Intersect(Target, Range("F2:F100")) Is Nothing Then
            If Target.Value <> cel Then
            
                Target.Offset(0, 2).Value = Target.Offset(0, 2).Value + 1
            Else
                MsgBox "Valeur identique"
            End If
        End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' mise en mémoire de la valeur initiale
cel = ActiveCell.Value
End Sub
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…