Besoin d'aide sur Worksheet_Change

Résolu
Bonjour a tous,

pour incrémenter un numéro de dossier j'ai écrit le macro suivant

Private Sub Worksheet_Activate()

Dim num As Integer
Range("c1").Select
num = Range("c1").Value
num = num + 1
Range("c1").Value = num
End Sub

A chaque fois que j'active la feuille, le numéro s'incrémente. J'aimerais pourtant incrémenter le numéro à chaque fois que la valeur d'une cellule contenant le nom du titulaire de dossier change.

Est ce que quelqu'un pourrait m'aider à combiner ce code avec worksheet_Change

Merci d'avance

Bruno

3 réponses

  1. bonjour

    ceci devrait aller

    Const celnom = "A1"
    Const celnum = "C1"
    
    Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Range(celnom)) Is Nothing Then
        Range(celnum).Value = Range(celnum).Value + 1
      End If
    End Sub

    bonne suite
    1
    1. Bonjour a vous deux

      Une autre version avec quelques controles:

      Private Sub Worksheet_Change(ByVal Target As Range)
      'cellules selectionnees C3 et C4 a changer suivant vos besoins
      'cellule a incrementer C1
      'test cellule C4: bonne cellule et changement de valeur et pas vide
      'test cellule C3: memoire de la cellule C4 (prendre une cellule pour
      'prise compte l'ouverture du classeur parce qu'une variable ne prend
      'pas en compte l'ouverture du classeur)----> But: eviter les comptages intempestifs
      'si cellule C4 ne change pas de valeur apres double click ou
      'reouverture classeur et si cellule C4 ne change pas de valeur apres double click
      If Not Application.Intersect(Target, Range("C4")) Is Nothing And _
      Range("C4").Value <> Range("C3").Value And Range("C4").Value <> "" Then
      Range("C1").Value = Range("C1").Value + 1
      End If
      Range("C3").Value = Range("C4").Value
      End Sub

      Bonne suite
      0
      1. Bonjour,

        Ceci fonctionne bien!

        Merci beaucoup

        Bruno
        0