Message erreur d'execution '13' type incompatible

mix770

XLDnaute Impliqué
bonjour le forum,

j'ai un petit soucis, j'ai un tableau annuel qui dispatche sur les 12 mois(12 onglets) les RTT, sur les onglets j'avais mis un VBA pour renvoyer vers une feuille si on tapait le code *152.

le code pour dispatcher marchait bien, le vba pour identifier le 152 aussi, mais dès que j'active le vba de dispatche jai le message "erreur d'execution 13 incompatibilité de type" et un bug à ce niveau "If Target.Value = "*152" Then" sur le code ci dessous

private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("A9:AG69")) Is Nothing Then

If Target.Value = "*152" Then Sheets("suivi code").Activate

End If

End Sub

le fichier est trop lourd pour mettre en ligne je l’allège mais du coup cela peut fausser le fonctionnement

ci dessous le code de dispatche qui est dans l'onglet RTT

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 30 Then Exit Sub
If (Target.Row - 2) Mod 50 <> 0 Then Exit Sub
If Target.Count > 1 Then Exit Sub
Cancel = True
Call dispatcher(Target.Row)
Exit Sub
End Sub
 

Dranreb

XLDnaute Barbatruc
Re : Message erreur d'execution '13' type incompatible

Bonjour.
En général quand on a une incompatibilité de type en essayant d'exploiter comme donnée élémentaire la propriété Value d'un Range, c'est parce qu'il s'agit en fait d'un tableau VBA, du fait que le Range comporte plusieurs cellules, fusionnées ou non.
 

mix770

XLDnaute Impliqué
Re : Message erreur d'execution '13' type incompatible

pierrot 93,
j'ai essayé, modifié à chaque onglet le VBA, mais cela coince au même endroit, il dispatche quand même le mois de janvier.

If Target Like "*152" Then Sheets("suivi code").Activate

merci à toi
 

mix770

XLDnaute Impliqué
Re : Message erreur d'execution '13' type incompatible

merci de vos réponses,

le vba suivant fonctionnait très bien:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 30 Then Exit Sub
If (Target.Row - 2) Mod 50 <> 0 Then Exit Sub
If Target.Count > 1 Then Exit Sub
Cancel = True
Call dispatcher(Target.Row)
Exit Sub
End Sub

c'est depuis qua j'ai mis celui ci

private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("A9:AG69")) Is Nothing Then

If Target.Value = "*152" Then Sheets("suivi code").Activate

End If

End Sub

je suis pas champion dans le domaine, je comprend pas ce qui se passe
merci à vous
 

Discussions similaires

Réponses
1
Affichages
247

Statistiques des forums

Discussions
312 231
Messages
2 086 442
Membres
103 210
dernier inscrit
Bay onais