Bonjour,
J'ai un petit problème auquel je ne trouve pas de solution.
J'ai regardé sur différents forums et trouvé des solutions approchantes, mais rien que j'aie réussi à adapter à mon cas.
J'ai un tableau Excel dans lequel il y a une liste déroulante en B5.
Je voudrais qu'à chaque fois que la valeur de la liste déroulante change, le contenu de certaines cellules soit effacé.
Il s'agit des cellules : B11, B24, B25, B28, C28, C29, B30, C30, B31, C31, D28, E28, D29, E29, D30, E30, B33, C33, D33, E33.
J'ai trouvé la macro suivante sur un forum :
Elle fonctionne très bien. Mais, mon problème est que les cellules ne sont pas esapcées régulièrement. J'ai essayé d'adapter la macro comme ceci :
Mais, ça ne fonctionne pas ! Si Quelqu'un avait une idée, ce serait très sympa !
Merci d'avance.
Cordialement.
J'ai un petit problème auquel je ne trouve pas de solution.
J'ai regardé sur différents forums et trouvé des solutions approchantes, mais rien que j'aie réussi à adapter à mon cas.
J'ai un tableau Excel dans lequel il y a une liste déroulante en B5.
Je voudrais qu'à chaque fois que la valeur de la liste déroulante change, le contenu de certaines cellules soit effacé.
Il s'agit des cellules : B11, B24, B25, B28, C28, C29, B30, C30, B31, C31, D28, E28, D29, E29, D30, E30, B33, C33, D33, E33.
J'ai trouvé la macro suivante sur un forum :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim I As Integer
If Target.Count > 1 Then Exit Sub
If Not Intersect(Range("B4,D4,F4,H4,J4"), Target) Is Nothing Then
Application.EnableEvents = False
For I = Target.Column + 2 To 10 Step 2
Cells(Target.Row, I).ClearContents
Next I
Application.EnableEvents = True
End If
End Sub
Elle fonctionne très bien. Mais, mon problème est que les cellules ne sont pas esapcées régulièrement. J'ai essayé d'adapter la macro comme ceci :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim I As Integer
Dim Target As Range
If Target.Count > 1 Then Exit Sub
If Not Intersect(Range("b5, B11,B24,B25,B28,c28, c29, b30, c30, b31, c31, d28, e28,d29, e29, d30, e30, b33, c33, d33, e33"), Target) Is Nothing Then
Application.EnableEvents = False
Range("b11").ClearContents
Range("b24").ClearContents
' [...]
Application.EnableEvents = True
End If
End Sub
Mais, ça ne fonctionne pas ! Si Quelqu'un avait une idée, ce serait très sympa !
Merci d'avance.
Cordialement.