XL 2010 Comment reproduire un code VBA d'une colonne sur plusieurs colonnes

man.jul

XLDnaute Nouveau
Bonjour

Voici mon code VBA:

Public Flag As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
If Flag Then Exit Sub
If Not Application.Intersect(Target, Columns("c")) Is Nothing Then
If Target.Count > 9 Then Exit Sub
If Application.CountIf(Range("c6:c175"), "CA") > 9 Then
Flag = TrueMsgBox ("Le nombre maximal de CA est déjà atteint!")
Target.ClearContents
Flag = False
End If
End If
End Sub

Il bloque dès que l'on essaie d'enregistrer une cellule avec la valeur "CA" dans la plage C6:C175 alors qu'il y a déjà 9 cellules avec la valeur "CA" dans cette plage.
Je souhaiterai que ce code fasse la même chose dans les colonnes d, e, f jusqu'à m, avec les plages d6:d175, e6:e175 ... jusqu'à m6:m175.

Vous avez mon exemple ci-joint.

Merci par avance

Emmanuel
 

Pièces jointes

  • exemple.xls
    934.5 KB · Affichages: 28

Dranreb

XLDnaute Barbatruc
Bonsoir.
Essayez comme ça :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect([C6:M175], Target) Is Nothing Then Exit Sub
If Application.CountIf(Intersect([6:175], Target.EntireColumn), "CA") > 9 Then
   MsgBox "Le nombre maximal de CA est déjà atteint !", vbCritical, "Saisie CA"
   Application.EnableEvents = False
   Target.ClearContents
   Application.EnableEvents = True: End If
End Sub
 

Discussions similaires

Réponses
32
Affichages
962
Réponses
4
Affichages
450

Statistiques des forums

Discussions
315 095
Messages
2 116 170
Membres
112 676
dernier inscrit
little_b