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

Signaler
Messages postés
4
Date d'inscription
mardi 17 novembre 2020
Statut
Membre
Dernière intervention
17 novembre 2020
-
Messages postés
13127
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2020
-
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
13127
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2020
732
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
4
Date d'inscription
mardi 17 novembre 2020
Statut
Membre
Dernière intervention
17 novembre 2020

Non l'erreur se produit n'importe où sur la feuille
Messages postés
13127
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2020
732 >
Messages postés
4
Date d'inscription
mardi 17 novembre 2020
Statut
Membre
Dernière intervention
17 novembre 2020

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

Et bien je sélectionne l'encadré d'une cellule et je l'a déplace à un autre endroit
Messages postés
13127
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2020
732 >
Messages postés
4
Date d'inscription
mardi 17 novembre 2020
Statut
Membre
Dernière intervention
17 novembre 2020

ah ok, tu recopies le contenu d'une cellule vers des cellules voisines!
Messages postés
7044
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 novembre 2020
575
Bonjour,

change

Private Sub Worksheet_Change(ByVal Target As Range)


en

Private Sub Worksheet_SelectionChange(ByVal Target As Range)


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

ça fonctionne bien avec cette solution! Merci