Besoin d'aide sur Worksheet_Change

Résolu
XLSuser Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
XLSuser Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -
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

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
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
XLSuser Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjour,

Ceci fonctionne bien!

Merci beaucoup

Bruno
0