Bonjour le forum,

J'ai une fonction qui permet de remplir des cellules (de différentes colonnes "*Type de Champs") par "Text" si une valeur de plusieurs colonnes "Type Texte", "Format Texte", etc est remplie, je veux ajouter une condition qui me permet de vider automatiquement ces cellules dès qu'on vide la cellule déjà remplie, J'ai essayé avec ActiveCell.value="", cela marche pour les cellules du type liste déroulante, mais ne marche pas pour les cellules normales.

Voilà mon code placé dans ThisWorkbook:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub Workbook_SheetChange(ByVal Sht As Object, ByVal Target As Range)
    Dim NoCol As Integer
    Dim Title As String
 
    If Cells(1, Target.Column).Value Like "*Texte*" Then
        Application.EnableEvents = False
            For NoCol = 1 To Columns(Split(Sh.UsedRange.Address, "$")(3)).Column
                Title = Sht.Cells(1, NoCol)
                If Title Like "*Type de Champs" Then
                    Sht.Cells(Target.Row, NoCol).Value = "Texte"
                    If (Sht.Cells(Target.Row, NoCol).Value = "Texte") And ActiveCell = "" Then
                        Sht.Cells(Target.Row, NoCol).Value = ""
'************* Ici j'ai ajouté plusieurs tests mais en vain !                        
                    End If
                End If
            Next
        Application.EnableEvents = True
    End If
Quelqu'un peut m'aider svp ?