Besoin d'aide sur Worksheet_Change

Résolu/Fermé
Signaler
Messages postés
20
Date d'inscription
mardi 7 février 2012
Statut
Membre
Dernière intervention
30 mars 2012
-
Messages postés
20
Date d'inscription
mardi 7 février 2012
Statut
Membre
Dernière intervention
30 mars 2012
-
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

Messages postés
10192
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
4 décembre 2021
2 256
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
16128
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
4 décembre 2021
1 566
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
Messages postés
20
Date d'inscription
mardi 7 février 2012
Statut
Membre
Dernière intervention
30 mars 2012
3
Bonjour,

Ceci fonctionne bien!

Merci beaucoup

Bruno