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. 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+
    1. 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. 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....