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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
32
Affichages
1 K
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
503
Réponses
0
Affichages
538
Réponses
3
Affichages
462
Réponses
16
Affichages
1 K
Retour