Effacer contenu cellules

ggeo

XLDnaute Nouveau
Bonjour,

La macro suivante fonctionne très bien

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = 0 Then
Range("A5").Select
ActiveCell.FormulaR1C1 = ""
End If
End Sub

Par contre si je veux ajouter une condition semblable, cela ne fonctionne plus et n’en trouve pas la cause

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = 0 Then
Range("A5").Select
ActiveCell.FormulaR1C1 = ""
End If
If Range("A2") = 0 Then
Range("B5").Select
ActiveCell.FormulaR1C1 = ""
End If
End Sub

Si un « forumeur » peut me dépanner je l’en remercie par avance.

Bonne journée.
 

jp14

XLDnaute Barbatruc
Re : Effacer contenu cellules

Bonjour

Le problème provient du fait que la macro s'appelle.
Cette ligne relance la macro.
ActiveCell.FormulaR1C1 = ""

Pour éviter le problème on utilise un drapeau (flag) qui verrouille l'accès.
Code:
Dim flag As Boolean  : variable visible dans le module

Private Sub Worksheet_Change(ByVal Target As Range)
If flag = True Then Exit Sub
flag = True
If Range("A1") = 0 Then
Range("A5").Select
ActiveCell.FormulaR1C1 = ""
End If
If Range("A2") = 0 Then
Range("B5").Select
ActiveCell.FormulaR1C1 = ""
End If
flag = False
End Sub

A tester

JP
 

ggeo

XLDnaute Nouveau
Re : Effacer contenu cellules

Bonjour lapix,

Le code semble tourner en boucle, bloquant ainsi le classeur, mais cela uniquement lorsqu'il y a plusieurs conditions.
jp14 a trouvé la solution.

Merci et bonne fin de journée.
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 082
Membres
103 113
dernier inscrit
jlaussenac