Erreur 13 incompatibilité de type

Résolu/Fermé
Alex - 18 juil. 2013 à 12:31
 Alex - 18 juil. 2013 à 14:20
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
A voir également:

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+
0
scinarf Messages postés 1119 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
18 juil. 2013 à 13:26
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.
0
C'est une bonne remarque mais celà ne change rien à mon problème...
0
Sub Liste(ByVal choix As String, ByVal TarR As String)
Sheets("Demandes").Cells(TarR, 3).Value = choix

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