Erreur si supprime plusieur cellules a la fois

Résolu
surplus Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   -  
surplus Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai un soucis avec un fichier ou je change la valeur d'une cellule et ca change la couleur de l'onglet la macro fonctionne mais si je supprime la valeur de plus d'une cellule ligne ou colonne j'ai une erreur qui apparait
comment solutionner svp
je vous mets le fichier exemple
https://www.cjoint.com/c/KFfsMoygnne
merci

Configuration: Windows / Firefox 89.0


Slts               A bientôt 
Surplus

6 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    essaie comme ceci

    Private Sub Worksheet_Change(ByVal Cel As Range)
    If Cel.Count > 1 Then Exit Sub
    If Intersect(Cel, Range("C8")) Is Nothing Then Exit Sub
    If Len(Cel) > 7 Then MsgBox "ID Commerçant 7 caractères": Application.Undo
    End Sub

    Cdlmnt
    0
  2. surplus Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   4
     
    bonsoir en fait c'est pas celle la qui pose le soucis je pensais l'avoir supprimé pour cet exemple c'est quand je change les couleurs de l'onglet qui me pose le soucis quand la macro s’arrête elle me signale cette macro

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target <> Range("$H$6") Then Exit Sub
    Select Case Target.Value
    Case Is = "En Cours"
    ActiveSheet.Tab.ColorIndex = 35
    Case Is = "Attente Action"
    ActiveSheet.Tab.Color = RGB(255, 0, 0) '38
    Case Is = "Cloturé"
    ActiveSheet.Tab.ColorIndex = 50
    End Select
    End Sub
    dans ThisWorkBook

    0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    C'est la même chose, il te faut vérifier que le nombre de cellules qui ont changé n'est pas supérieur à . et tu devrais ajouter cette instruction à l'autre procedure)

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    if Target.count > 1 then exit sub
    If Target <> Range("$H$6") Then Exit Sub 


    Cdlmnt
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Tu as mis à Résolu donc tu as du trouver
    Au cas où
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target <> ActiveSheet.Range("$H$6") Then Exit Sub
    Select Case Target.Value
      Case Is = "En Cours": ActiveSheet.Tab.ColorIndex = 35
      Case Is = "Attente Action": ActiveSheet.Tab.Color = RGB(255, 0, 0)  '38
      Case Is = "Cloturé": ActiveSheet.Tab.ColorIndex = 50
    End Select
    End Sub

    Bonne soirée
    0
  6. surplus Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   4
     
    Bonjour
    oui le probleme est resolu
    merci de ton aide
    0