Erreur 13 incompatibilité de type [Résolu/Fermé]

Signaler
-
 Alex -
Bonjour à tous,

J'ai ce bout de code dans un module affecté à une liste déroulante :
Sub Déroulante()

Dim ligne As String
Dim choix As String

ligne = Sheets("Liste Clients").Range("C1").Value
ligne = ligne + 1
choix = Sheets("Liste Clients").Range("D" & ligne).Value

Call Feuil2.Liste(choix, TarR)

End Sub


Celui là étant sur une de mes feuilles et TarR représentant Target.Row de ma procédure Worksheet_change utilisée au début :

Sub Liste(ByVal choix As String, ByVal TarR As String)

Sheets("Demandes").Cells(TarR, 3).Value = choix
Sheets("Demandes").Cells(TarR, 4).Value = Sheets("Liste Clients").Range("D" & ligne).Offset(1, 0).Value

End Sub


Le problème est que j'ai "erreur d'execution 13, incompatibilité de type" à la ligne 10.
Auriez vous une idée ??
Merci d'avance, Cordialement

3 réponses

bonjour,

Dim ligne As String
ligne = ligne + 1


Tu déclare ligne comme texte et ensuite tu l'utilise comme un nombre
Il faut déclarer
Dim ligne as Integer

A+
Messages postés
1098
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
25 septembre 2014
251
Bonjour,

Pour commencer

Sub Déroulante()

Dim ligne As Integer
Dim choix As String

ligne = Sheets("Liste Clients").cells(1,3).Value
ligne = ligne + 1
choix = Sheets("Liste Clients").cells(ligne,4).value

Call Feuil2.Liste(choix, TarR)

End Sub

Target.row est un Integer alors que TarR est défini comme un String je pense qu'il y a un petit soucis.

En lisant la documentation liée à VBA on s'aperçoit que cells reçoit deux Integer en paramètres et non des String.
C'est une bonne remarque mais celà ne change rien à mon problème...
Sub Liste(ByVal choix As String, ByVal TarR As String)
Sheets("Demandes").Cells(TarR, 3).Value = choix

il faut déclarer TarR As Integer
J'ai essayé celà ne fonctionne pas non plus malheureusement....