Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
7
Affichages
377
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…