Besoin d'aide sur Worksheet_Change

Résolu/Fermé
XLSuser Messages postés 20 Date d'inscription mardi 7 février 2012 Statut Membre Dernière intervention 30 mars 2012 - 21 mars 2012 à 10:28
XLSuser Messages postés 20 Date d'inscription mardi 7 février 2012 Statut Membre Dernière intervention 30 mars 2012 - 21 mars 2012 à 11:46
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 10904 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 décembre 2024 2 428
21 mars 2012 à 11:03
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 17215 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 26 décembre 2024 1 711
21 mars 2012 à 11:31
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 mardi 7 février 2012 Statut Membre Dernière intervention 30 mars 2012 3
21 mars 2012 à 11:46
Bonjour,

Ceci fonctionne bien!

Merci beaucoup

Bruno
0