Interference entre 2 macros

bonjour

vous m'avez aidé hier par une macro pour bip et clignoter une cellule

j'ai rajouté une macro (clearcontents)

et ça marche, mais il m'affiche chaque fois un drôle de message :erreur d'execution 13

incompatibilité de type

y a t il une explication et solution simple et rapide ?

dans l'attente, merci, et @+, Ptkntz

Bonsoir,

Tu aurais du continuer sur le poste d'hier

ou remet ici le fichier en question

Amicalement

Claude

bonjour

je vous joins le fichier qui pose problème

cdlt

Ptkntz

23clignote-bip.zip (10.21 Ko)

Bonjour,

la macro pour effacer interfère avec l'événementielle B2:B10

ajoute

Public Flag As Boolean

Public Flag As Boolean
Private Sub CommandButton2_Click()
Flag = True
    Range("b2:b10").ClearContents
Flag = False
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Flag Then Exit Sub
    With Target
        If Not Application.Intersect(Target, Range("B2:B10")) Is Nothing Then
            .ClearComments
            .Interior.ColorIndex = xlNone
            If .Value > 6000 Then
                Beep
                .AddComment
                .Comment.Text Text:="Attention verser"
                .Comment.Visible = True
                .Interior.ColorIndex = 3
            End If
        End If
    End With
End Sub

si tu as d'autres macros, place le Public Flag As Boolean dans un module

amicalement

Claude

16ptkntz-flag.zip (12.03 Ko)

Bonjour a tous,

Excellente technique,

Dans ce cas l'on peut aussi , limiter l'entrée au traitement à une seule cellule , car l'effacement s'éxécute sur un groupe de cellules :

Private Sub Worksheet_Change(ByVal Target As Range)
    With Target

  'Ici l'on ne passe que si une seule cellule est sélectionnée

       If .Count = 1 Then

        If Not Application.Intersect(Target, Range("B2:B10")) Is Nothing Then
            .ClearComments
            .Interior.ColorIndex = xlNone
            If .Value > 6000 Then
                Beep
                .AddComment
                .Comment.Text Text:="Attention verser"

                .Comment.Visible = True
                .Interior.ColorIndex = 3
            End If
        End If
      End If
    End With
End Sub

re,

on pourrait en profiter pour compléter le bouton

Private Sub CommandButton2_Click()
Flag = True
    With Range("b2:b10")
        .ClearContents
        .ClearComments
        .Interior.ColorIndex = xlNone
    End With
Flag = False
End Sub

Claude

merci, les gars

vous êtes des bêtes, grave

@+, Ptkntz

Rechercher des sujets similaires à "interference entre macros"