Impossible soustraire valeur textbox d'une cellule

Résolu
Bonsoir les gens,

Dim C As Range
    With Worksheets(2).Columns(1)
        Set C = .Find(Me.ComboBox2.Value, LookIn:=xlValues)
        If Not C Is Nothing Then
            L = (C.Row)
            m = Range("D" & L).Value
            r = (TextBox10.Value)
            m = m - r
        End If
        
    End With


Pourriez vous m'expliquer pourquoi la soustraction ne fonctionne pas.
j'ai bien mon numéro de ligne en L
j'ai bien la valeur de la cellule correspondant au numéro de la ligne en m
j'ai bien la valeur de la textbox dans r
merci

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. ai trouvé cette solution. Elle fonctionne mais demande certainement à être améliorée ou compléter

       Dim C As Range
        With Worksheets(2).Columns(1)
            Set C = .Find(Me.ComboBox2.Value, LookIn:=xlValues)
            If Not C Is Nothing Then
                r = CDbl(TextBox10.Value)
                L = (C.Row)
                m = .Range("D" & L).Value
                p = m - r
                .Range("D" & L).Value = p
            End If
            
        End With
    1. Contributeur
      Salut le Forum

      TextBox10 retourne une valeur texte.

      Tu devrais cocher dans les options VBA
      -Déclaration des variables obligatoire.

      Petite lecture : Intérêt de déclarer des variables

      Mytå
      1. Contributeur
        Re le Forum

        Pour récupérer la valeur de la colonne D après la recherche utilise : C.OFFSET(0,1)

        Mytå
    2. bonjour Myta
      En reconsultant les différents posts j'avais vu le problème de la textbox
      et j'ai converti la valeur avec "cdbl"
      ai adapté C.OFFSET(0,1) à mon programme
      et ai déclaré les variables suivant tes recommandations et après la lecture du lien.

      je commence à comprendre un peu mieux vba et excel

      il serait temps tu me diras ....

      merci beaucoup pour ton aide et bonne journée