VBA Erreur 13 quand tu me tiens...
debutantVBA
Messages postés
2
Statut
Membre
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je vais finalement vous exposer mon propre problème car après avoir parcouru tous les forum d'aide, je n'ai pas trouvé de réponse à mon problème.
Voici le code ci-dessous qui me donne du fil à retordre :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lig As Byte, plage As Range
If Intersect(Target, Range("T9:T5000")) Is Nothing Then: Exit Sub
Lig = Target.Row
Set plage = Range(Cells(Lig, 1), Cells(Lig, 21))
Select Case Target
Case Is = "PIECES DEMANDEES"
plage.Interior.ColorIndex = 7
Case Is = "A TRAITER"
plage.Interior.ColorIndex = 41
Case Is = "REAL EN COURS"
plage.Interior.ColorIndex = 6
Case Is = "INJECTEE"
plage.Interior.ColorIndex = 8
Case Is = "SOLDE"
plage.Interior.ColorIndex = 16
Case Is = "ENVOYE A PARIS"
plage.Interior.ColorIndex = 3
Case Is = "EFT PAYEE"
plage.Interior.ColorIndex = 4
End Select
Set plage = Nothing
End Sub
Ce code me permet de colorier les lignes de mon tableau suivant les données qui sont dans la colonne T. Le problème, c'est que lorsque je veux supprimer une ligne de mon tableau, j'ai un message d'erreur CODE 13 qui s'affiche et je ne trouve pas de solution (je suis débutant).
Je fais donc appel à votre aide "les PRO-grammeurs".
Merci d'avance A+
Je vais finalement vous exposer mon propre problème car après avoir parcouru tous les forum d'aide, je n'ai pas trouvé de réponse à mon problème.
Voici le code ci-dessous qui me donne du fil à retordre :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lig As Byte, plage As Range
If Intersect(Target, Range("T9:T5000")) Is Nothing Then: Exit Sub
Lig = Target.Row
Set plage = Range(Cells(Lig, 1), Cells(Lig, 21))
Select Case Target
Case Is = "PIECES DEMANDEES"
plage.Interior.ColorIndex = 7
Case Is = "A TRAITER"
plage.Interior.ColorIndex = 41
Case Is = "REAL EN COURS"
plage.Interior.ColorIndex = 6
Case Is = "INJECTEE"
plage.Interior.ColorIndex = 8
Case Is = "SOLDE"
plage.Interior.ColorIndex = 16
Case Is = "ENVOYE A PARIS"
plage.Interior.ColorIndex = 3
Case Is = "EFT PAYEE"
plage.Interior.ColorIndex = 4
End Select
Set plage = Nothing
End Sub
Ce code me permet de colorier les lignes de mon tableau suivant les données qui sont dans la colonne T. Le problème, c'est que lorsque je veux supprimer une ligne de mon tableau, j'ai un message d'erreur CODE 13 qui s'affiche et je ne trouve pas de solution (je suis débutant).
Je fais donc appel à votre aide "les PRO-grammeurs".
Merci d'avance A+
A voir également:
- VBA Erreur 13 quand tu me tiens...
- Fifa 13 - Télécharger - Jeux vidéo
- Iptv erreur de lecture - Forum TV & Vidéo
- Erreur t32 ✓ - Forum Livebox
- Une erreur s'est produite instagram ✓ - Forum Instagram
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
1 réponse
bonjour
Tout d'abord, changes :
car avec Byte tu ne peux pas dépasser 256 lignes.
Ensuite si tu supprimes une ligne, tu n'as rien à colorer et donc tu mets ceci en début :
Tu sortiras de ta macro si plus d'une cellule est concernée car dans ce cas tu ne peux pas tester ta valeur ce qui provoque ton erreur.
Tout d'abord, changes :
Dim Lig As Byte par Dim Lig As Long
car avec Byte tu ne peux pas dépasser 256 lignes.
Ensuite si tu supprimes une ligne, tu n'as rien à colorer et donc tu mets ceci en début :
If Target.Count > 1 Then Exit Sub
Tu sortiras de ta macro si plus d'une cellule est concernée car dans ce cas tu ne peux pas tester ta valeur ce qui provoque ton erreur.