Impossible soustraire valeur textbox d'une cellule

Résolu/Fermé
solene85 Messages postés 391 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 9 janvier 2016 - Modifié par pijaku le 31/10/2014 à 12:50
solene85 Messages postés 391 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 9 janvier 2016 - 31 oct. 2014 à 12:41
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

solene85 Messages postés 391 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 9 janvier 2016 13
Modifié par pijaku le 31/10/2014 à 12:50
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
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
31 oct. 2014 à 00:52
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å
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
31 oct. 2014 à 00:59
Re le Forum

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

Mytå
0
solene85 Messages postés 391 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 9 janvier 2016 13
31 oct. 2014 à 12:41
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
0