Erreur: La méthode '_Default' de l'obget 'Range' a échoué
Résolu
bassmart
Messages postés
281
Date d'inscription
Statut
Membre
Dernière intervention
-
bassmart Messages postés 281 Date d'inscription Statut Membre Dernière intervention -
bassmart Messages postés 281 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai une code qui fonctionnais très bien, jusqu'au moment que j'ai ajouter des lignes de code pour que les colonnes 3, 4 et 5 soit mis en majuscule.
Quand j'ajoute des valeurs tout est Ok, mais j'ai une erreur dès que je supprime une valeur dans l'une de ces colonnes. [erreur d'exécution '-2147417848(80010108)' La méthode '_Default' de l'obget 'Range' à échoué]. Il me pointe alors la dernière ligne Target = Ucase(Target).
Je ne sais pas comment écrire mon code pour éviter ce problème!
Merci de votre aide!
J'ai une code qui fonctionnais très bien, jusqu'au moment que j'ai ajouter des lignes de code pour que les colonnes 3, 4 et 5 soit mis en majuscule.
Quand j'ajoute des valeurs tout est Ok, mais j'ai une erreur dès que je supprime une valeur dans l'une de ces colonnes. [erreur d'exécution '-2147417848(80010108)' La méthode '_Default' de l'obget 'Range' à échoué]. Il me pointe alors la dernière ligne Target = Ucase(Target).
Je ne sais pas comment écrire mon code pour éviter ce problème!
Private [/contents/446-fichier-sub Sub] Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect
If Target.Column = 4 Then
Target = UCase(Target)
End If
If Target.Column = 5 Then
Target = UCase(Target)
End If
If Target.Column = 3 Then
Target = UCase(Target)
End If
If Target.Cells.Count > 1 Then Exit Sub
If Target.Row < 5 Or Target.Column <> 5 Then Exit Sub
If Target.Value = "" Then Cells(Target.Row, 1).ClearContents
If Range("A5") <> "" Then
DLig = Range("E5").End(xlDown).Row
Set PL = Range("A5:A" & DLig)
PL.Value = Range("a5").Value
End If
ActiveSheet.Protect
End Sub
Merci de votre aide!
A voir également:
- La méthode _default de l'objet range a échoué
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- J'aime par erreur facebook notification - Forum Facebook
1 réponse
bonjour,
essayez comme ceci:
essayez comme ceci:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect
If Target.Column >= 3 And Target.Column <= 5 Then
'desactive les evenements excel: eviter appel recurcif a la suite du passage en majuscule
Application.EnableEvents = False
Target = UCase(Target)
End If
'active les evenements excel
Application.EnableEvents = True
If Target.Cells.Count > 1 Then Exit Sub
If Target.Row < 5 Or Target.Column <> 5 Then Exit Sub
If Target.Value = "" Then Cells(Target.Row, 1).ClearContents
If Range("A5") <> "" Then
DLig = Range("E5").End(xlDown).Row
Set PL = Range("A5:A" & DLig)
PL.Value = Range("a5").Value
End If
ActiveSheet.Protect
End Sub
bassmart
Messages postés
281
Date d'inscription
Statut
Membre
Dernière intervention
1
Merci beaucoup f894009!! Ça fonctionne très bien!!