Bonjour à tous
j'utilise le code suivant pour automatiser la majuscule sur une feuille et ça fonctionne très bien
Private Sub Worksheet_Change(ByVal Target As Range)
Dim flag As Boolean
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("C4:M33")) Is Nothing Then
Application.EnableEvents = False
ActiveSheet.Unprotect
Range("O" & Target.Row).Value = Date
Application.EnableEvents = True
End If
ActiveSheet.Unprotect
Rows.AutoFit
If Not Intersect(Target, Range("c4:c33")) Is Nothing Then
Application.EnableEvents = False
flag = True
Target.Value = Evaluate("PROPER(""" + Target.Value + """)")
End If
If Not Intersect(Target, Range("c4:c33")) Is Nothing Then
Application.EnableEvents = False
flag = True
Target.Value = UCase(Target.Value)
End If
If Not Intersect(Target, Range("D4😀33")) Is Nothing Then
Application.EnableEvents = False
Target.Value = StrConv(Target, vbProperCase)
End If
Application.EnableEvents = True
ActiveSheet.Protect
End Sub
je voudrais y ajouter le code suivant pour automatiser l'effacement de la ligne si la 3ieme cellule est effacée
If Target.Column <> 3 Or Target.Count > 1 Or (Target.Row < 10 Or Target.Row > 32) Then Exit Sub
If IsEmpty(Target) Then
Application.EnableEvents = False
Target.Resize(, 4).ClearContents
Target.Resize(, 5).ClearContents
Target.Resize(, 6).ClearContents
Target.Resize(, 7).ClearContents
Target.Resize(, 8).ClearContents
Target.Resize(, 9).ClearContents
Target.Resize(, 10).ClearContents
Target.Resize(, 11).ClearContents
Target.Resize(, 12).ClearContents
Target.Resize(, 13).ClearContents
Application.EnableEvents = True
End If
séparément ça fonctionne aussi très bien mais quand je place les deux ensemble rien ne va plus
merci de m'aider à intégrer proprement ce complément de code
Kinel
j'utilise le code suivant pour automatiser la majuscule sur une feuille et ça fonctionne très bien
Private Sub Worksheet_Change(ByVal Target As Range)
Dim flag As Boolean
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("C4:M33")) Is Nothing Then
Application.EnableEvents = False
ActiveSheet.Unprotect
Range("O" & Target.Row).Value = Date
Application.EnableEvents = True
End If
ActiveSheet.Unprotect
Rows.AutoFit
If Not Intersect(Target, Range("c4:c33")) Is Nothing Then
Application.EnableEvents = False
flag = True
Target.Value = Evaluate("PROPER(""" + Target.Value + """)")
End If
If Not Intersect(Target, Range("c4:c33")) Is Nothing Then
Application.EnableEvents = False
flag = True
Target.Value = UCase(Target.Value)
End If
If Not Intersect(Target, Range("D4😀33")) Is Nothing Then
Application.EnableEvents = False
Target.Value = StrConv(Target, vbProperCase)
End If
Application.EnableEvents = True
ActiveSheet.Protect
End Sub
je voudrais y ajouter le code suivant pour automatiser l'effacement de la ligne si la 3ieme cellule est effacée
If Target.Column <> 3 Or Target.Count > 1 Or (Target.Row < 10 Or Target.Row > 32) Then Exit Sub
If IsEmpty(Target) Then
Application.EnableEvents = False
Target.Resize(, 4).ClearContents
Target.Resize(, 5).ClearContents
Target.Resize(, 6).ClearContents
Target.Resize(, 7).ClearContents
Target.Resize(, 8).ClearContents
Target.Resize(, 9).ClearContents
Target.Resize(, 10).ClearContents
Target.Resize(, 11).ClearContents
Target.Resize(, 12).ClearContents
Target.Resize(, 13).ClearContents
Application.EnableEvents = True
End If
séparément ça fonctionne aussi très bien mais quand je place les deux ensemble rien ne va plus
merci de m'aider à intégrer proprement ce complément de code
Kinel
Dernière édition: