Erreur exécution 13 : incompatibilité de type [Résolu]

Signaler
Messages postés
15
Date d'inscription
mardi 17 novembre 2020
Statut
Membre
Dernière intervention
17 février 2021
-
Messages postés
15638
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 mai 2021
-
Bonjour,

Débutant sur Vba je rencontre une erreur d’exécution 13 au niveau de la ligne "If not application.intersect..."
Voilà mon code :
J'ai ajouté la première partie "Option explicit et dim" mais j'ai toujours une erreur dès que j'insère un ligne ou déplace une cellule sur ma feuille.

Option Explicit
Dim wsh As String
Dim sh As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C7")) Is Nothing And Target <> "" Then
wsh = Target
With Worksheets(wsh)
.Visible = True
.Activate
End With
For Each sh In ThisWorkbook.Sheets
If sh.Name <> "Feuil1" And sh.Name <> "Feuil2" And sh.Name <> "Feuil3" And sh.Name <> "Feuil4" And sh.Name <> "Feuil5" And sh.Name <> "Feuil6" And sh.Name <> wsh Then
sh.Visible = xlVeryHidden
End If
Next
End If
End Sub


Merci pour votre aide !

Bonne journée

4 réponses

Messages postés
15638
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 mai 2021
855
bonjour,
l'erreur se produit-elle quand tu changes uniquement la cellule C7?

l'erreur se produit-elle quand tu changes une seule cellule?
Messages postés
15
Date d'inscription
mardi 17 novembre 2020
Statut
Membre
Dernière intervention
17 février 2021

Non l'erreur se produit n'importe où sur la feuille
Messages postés
15638
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 mai 2021
855 >
Messages postés
15
Date d'inscription
mardi 17 novembre 2020
Statut
Membre
Dernière intervention
17 février 2021

je n'ai pas compris "déplace une cellule sur ma feuille": tu fais cela comment?
Messages postés
15
Date d'inscription
mardi 17 novembre 2020
Statut
Membre
Dernière intervention
17 février 2021
>
Messages postés
15638
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 mai 2021

Et bien je sélectionne l'encadré d'une cellule et je l'a déplace à un autre endroit
Messages postés
15638
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 mai 2021
855 >
Messages postés
15
Date d'inscription
mardi 17 novembre 2020
Statut
Membre
Dernière intervention
17 février 2021

ah ok, tu recopies le contenu d'une cellule vers des cellules voisines!
Messages postés
7382
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 mai 2021
635
Bonjour,

change

Private Sub Worksheet_Change(ByVal Target As Range)


en

Private Sub Worksheet_SelectionChange(ByVal Target As Range)


Messages postés
15638
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 mai 2021
855
le soucis était quand Target comprenait plusieurs cellules.
Messages postés
15638
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 mai 2021
855
remplace la ligne qui donne l'erreur par:
If Not Application.Intersect(Target, Range("C7")) Is Nothing And Range("C7") <> "" Then
Messages postés
15
Date d'inscription
mardi 17 novembre 2020
Statut
Membre
Dernière intervention
17 février 2021

ça fonctionne bien avec cette solution! Merci