Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

problème sur Worksheet_Change

  • Initiateur de la discussion Initiateur de la discussion kinel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kinel

XLDnaute Occasionnel
Bonjour à tous
j'ai un souci sur le code suivant

sur la partie qui doit effacer automatiquement certaines cellules, si la cellule 4 est effacée il doit y avoir effacement automatique des cellules 3, 5, 6, 7, et 8
tout fonctionne bien sauf la 3 qui refuse de s'effacer

merci de votre aide
Kinel

Private Sub Worksheet_Change(ByVal Target As Range)
Dim flag As Boolean

'automatise la Majuscule sur le prénom
If Not Intersect(Target, Range("E3:E62")) Is Nothing Then
Application.EnableEvents = False
Target.Value = StrConv(Target, vbProperCase)
Application.EnableEvents = True
End If

'efface les infos si le nom est effacé
If Target.Column <> 4 Or Target.Count > 1 Or (Target.Row < 3 Or Target.Row > 62) Then Exit Sub
If IsEmpty(Target) Then

Application.EnableEvents = False
Target.Resize(, 3).ClearContents ' <<<<<<< ici
Target.Resize(, 5).ClearContents
Target.Resize(, 6).ClearContents
Target.Resize(, 7).ClearContents
Target.Resize(, 8).ClearContents
Application.EnableEvents = True
End If

'automatise le nom en MAJUSCULE
If Not Intersect(Target, Range("D3😀62")) Is Nothing Then
Application.EnableEvents = False
flag = True
Target.Value = Evaluate("PROPER(""" + Target.Value + """)")
Application.EnableEvents = True
End If

If Not Intersect(Target, Range("D3😀62")) Is Nothing Then
Application.EnableEvents = False
flag = True
Target.Value = UCase(Target.Value)
Application.EnableEvents = True
End If

End Sub

 
Re : problème sur Worksheet_Change

bonjour le forum

j'ai donc placé cette macro sur ma feuille et tout fonctionne bien mais je voudrai la compléter:
sur la partie 'efface les infos si le nom est effacé
je voudrai que la commande efface en même temps les cellules ("C6:AD17") de la feuille dont le nom se trouve sur la colonne 3 de la même ligne

merci de votre aide

Kinel



Private Sub Worksheet_Change(ByVal Target As Range)
Dim flag As Boolean

'automatise la Majuscule sur le prénom
If Not Intersect(Target, Range("E3:E62")) Is Nothing Then
Application.EnableEvents = False
Target.Value = StrConv(Target, vbProperCase)
Application.EnableEvents = True
End If

'efface les infos si le nom est effacé
If Target.Column <> 4 Or Target.Count > 1 Or (Target.Row < 3 Or Target.Row > 62) Then Exit Sub
If IsEmpty(Target) Then

Application.EnableEvents = False
Target.Offset(, -1).Resize(1, 6) = ""
Application.EnableEvents = True

End If

'automatise le nom en MAJUSCULE
If Not Intersect(Target, Range("D3😀62")) Is Nothing Then
Application.EnableEvents = False
flag = True
Target.Value = Evaluate("PROPER(""" + Target.Value + """)")
Application.EnableEvents = True
End If

If Not Intersect(Target, Range("D3😀62")) Is Nothing Then
Application.EnableEvents = False
flag = True
Target.Value = UCase(Target.Value)
Application.EnableEvents = True
End If

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
404
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
445
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…