Erreur 13 incompatibilité de type

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

  1. Yoda
     
    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
  2. scinarf Messages postés 1183 Statut Membre 294
     
    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
  3. Alex
     
    C'est une bonne remarque mais celà ne change rien à mon problème...
    0
    1. Yoda
       
      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
    2. Alex
       
      J'ai essayé celà ne fonctionne pas non plus malheureusement....
      0