Erreur exécution '13' incompatibilité de type

  • Initiateur de la discussion Initiateur de la discussion diane
  • 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 !

diane

XLDnaute Nouveau
Bonjour,

Je ne connais pas la programmation VBA, mais j'en ai eu besoin pour créer une macro, j'ai donc bêtement copié-collé un code trouver sur internet.
Ma macro fonctionne mais le message d'erreur exécution '13' incompatibilité de type apparaît souvent, je ne sais pas pourquoi.
De plus j'aimerai appliquer ma macro à l'ensemble des feuilles de mon classeur mais je n'y arrive pas.

voici ma macro:

Private Sub Worksheet_Change(ByVal Target As Range)
For Each ws In Worksheets
Chaine = Target.Value
With Target.Interior
If InStr(Chaine, "DS") Then .ColorIndex = 4
If InStr(Chaine, "FDS") Then .ColorIndex = 45
If InStr(Chaine, "EE") Then .ColorIndex = 7
If InStr(Chaine, "Echo") Then .ColorIndex = 6
If InStr(Chaine, "Bilan") Then .ColorIndex = 3
If InStr(Chaine, "CS") Then .ColorIndex = 8
End With
End Sub


merci de bien vouloir m'aider, c'est un dossier de boulot urgent.

diane
 
Re : Erreur exécution '13' incompatibilité de type

Bonjour diane

Et bienvenue sur XLD

A tester : mettre dans le module Thisworkbook (pour etre appliquée a toutes les feuilles) :
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
' si plus d'une cellule concernée sortir
If Target.Count > 1 Then Exit Sub
Chaine = Target.Value
With Target.Interior
If InStr(Chaine, "DS") Then .ColorIndex = 4
If InStr(Chaine, "FDS") Then .ColorIndex = 45
If InStr(Chaine, "EE") Then .ColorIndex = 7
If InStr(Chaine, "Echo") Then .ColorIndex = 6
If InStr(Chaine, "Bilan") Then .ColorIndex = 3
If InStr(Chaine, "CS") Then .ColorIndex = 8
End With
End Sub
 
Re : Erreur exécution '13' incompatibilité de type

Merci monsieur de me répondre si vite.
Je n'y connais rien à VBA, je ne sais pas ce qu'est le module Thisworkbook, et surtout comment y accéder dans VBA.
J'ai copié le code que vous venez de me donner mais il ne fonctionne pas....

diane
 
Re : Erreur exécution '13' incompatibilité de type

C'est super, ça fonctionne! Je n'aurais plus de message d'erreur 13?
Petite question pour terminer. La couleur est bien associée au texte partout dans mon document. En revanche si je supprime le contenu de la case, la couleur subsiste, est-il possible d'automatiser cela?

merci encore monsieur.
 
Re : Erreur exécution '13' incompatibilité de type

Re

Voila pour revenir apres effacement

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
' si plus d'une cellule concernée sortir
If Target.Count > 1 Then Exit Sub
Chaine = Target.Value
If Chaine = "" Then Target.Interior.Color = xlNone
With Target.Interior
If InStr(Chaine, "DS") Then .ColorIndex = 4
If InStr(Chaine, "FDS") Then .ColorIndex = 45
If InStr(Chaine, "EE") Then .ColorIndex = 7
If InStr(Chaine, "Echo") Then .ColorIndex = 6
If InStr(Chaine, "Bilan") Then .ColorIndex = 3
If InStr(Chaine, "CS") Then .ColorIndex = 8
End With
End Sub

Pour ce qui est de l'erreur 13 , si elle est due a une selection de plusieurs cellules elle n'apparaitra plus sinon reviens en precisant dans quel cas elle se produit
 
- 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
16
Affichages
401
Retour