Erreur 13 incompatibilité de type

Résolu
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

  1. C'est une bonne remarque mais celà ne change rien à mon problème...
    1. Sub Liste(ByVal choix As String, ByVal TarR As String)
      Sheets("Demandes").Cells(TarR, 3).Value = choix

      il faut déclarer TarR As Integer
    2. J'ai essayé celà ne fonctionne pas non plus malheureusement....
  2. 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.
    1. 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+