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
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
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!!