Valeur d'une cellule Excel dans textbox d'un Userform

bonsoir tout le monde. Je sèche sur un truc et je voudrais me pister vers une solution svp :)

j'ai je cellule excel de valeur 150,000 par exemple (le résultat de la formule dans cette cellue).

dans un USF j'ai un textbox1 et en exécutant mon code je voudrais que ce textbox1 prenne la valeur de la cellule c'est-à-dire 150,000.

j'ai fait ça via ce code : Textbox1=.cells(Derligne,9).Value

mais ceci me renvoie 0 dans textbox1 !!

pour vérifier si je suis sur la bonne ligne, un MsgBox m'affiche bien la Derligne et la colonne est bien là 9.

avez vous une idée sur ce problème svp ?

Bonjour,

Pour vous en assurer, il faudrait faire :

msgbox "Valeur : " & .cells(Derligne,9).Value
msgbox "Feuille : " & .parent.name
msgbox "Ligne : " & Derligne

Cdlt,

Bonjour à tous

tu peux aussi utiliser Textbox1=.cells(Derligne,9).Text
Mais attention, ça te retourne ce que tu vois dans la cellule.
C'est à dire avec le format choisi, et si la colonne n'est pas assez large la valeur arrondie ou tronquée, ou #### selon les cas.

Maintenant est-ce que derligne est à la bonne valeur et non 1 ligne plus bas ???
Parce si tu y vois 150,000, que ce soit en texte ou en numérique .Value te le retourne
Met un break et contrôle sa valeur
eric

Bonjour Eric et 3GB,

Merci pour vos propositions mais ... ça renvoie toujours un zéro !

Bonjour,

a+

C'est ambigu je ne pourrai pas le joindre !

Bonjour

Qu'est-ce qui est ambigu

Quand on veut joindre un fichier test, on peut... la preuve

Oui je devrai préparer ce fichier test OK A plus ... sauf si je trouve une solution là je la posterai directement

Re,

Avez-vous au moins ouvert mon fichier ?

A+

Oui Oui je viens de le faire maintenant !

donc ça passe à travers :

Me.TextBox1.Value = .Cells(DerLigne, 9).Value

Merci Bruno :)

Ce que j'ai réussi à faire aussi c'est de mettre les formules des cellules dans le code meme.

En effet, ce que j'avais c'est : formules dans cellule de la première ligne, puis Filldown ... ce qui n'a pas abouti

En plaçant les formules des Cells directement dans le code je n'i plus besoin de faire le filldown et donc ça marche.

Merci pour vous tous

Me

Re,

Du coup ou était votre erreur sur ce que vous a dit précédemment @eriiic ou @3GB

A+

Avec le code que j'avais qui celui la :

' AJOUT DANS ACHAT :
With Sheets("ACHAT")
    derligA = .Range("F" & Rows.Count).End(xlUp).Row
    If TextBox2 <> 0 Then
        For i = 3 To derligA
            If .Cells(i, 1) = TextBox1 And .Cells(i, 2) = ComboBox1 And .Cells(i, 11) = ComboBox2 Then compteur = True
            'PAS DE REF EXISTANTE AVEC MEME FACTURE ET MEME PROJET OU PROJET NUL
        Next i
            If compteur = False Then
                .Cells(derligA + 1, 1) = TextBox1
                .Cells(derligA + 1, 2) = ComboBox1
                .Cells(derligA + 1, 3) = TextBox2
                .Cells(derligA + 1, 4) = TextBox3
                .Cells(derligA + 1, 5) = TextBox4
                .Cells(derligA + 1, 7) = TextBox5
                .Cells(derligA + 1, 11) = ComboBox2
                .Range("F2:F" & derligA + 1).FillDown
                .Range("J2:J" & derligA + 1).FillDown
                .Range("H2:I" & derligA + 1).FillDown

                TextBox16 = Format(TextBox2 * TextBox3 * (1 - Format(TextBox4, "0.00")) * (1 + Format(TextBox5, "0.00")), "0.000")
                TextBox17 = .Cells(derligA + 1, 9).Value
            End If
    End If
End With

Le fait d'avoir fait FillDown jusqu'à la dernière cellule de la ligne, ça m'affichait dans le textbox de l'USF.

EN modifiant, en plaçant les formules qui étaient dans les cellules et en me passant du FillDown, j'ai directement des valeurs dans la cellule voulue :

' AJOUT DANS ACHAT :
With Sheets("ACHAT")
    derligA = .Range("F" & Rows.Count).End(xlUp).Row
    If TextBox2 <> 0 Then
        For i = 3 To derligA
            If .Cells(i, 1) = TextBox1 And .Cells(i, 2) = ComboBox1 And .Cells(i, 11) = ComboBox2 Then compteur = True
            'PAS DE REF EXISTANTE AVEC MEME FACTURE ET MEME PROJET OU PROJET NUL
        Next i
            If compteur = False Then
                .Cells(derligA + 1, 1) = TextBox1
                .Cells(derligA + 1, 2) = ComboBox1
                .Cells(derligA + 1, 3) = TextBox2
                .Cells(derligA + 1, 4) = TextBox3
                .Cells(derligA + 1, 5) = TextBox4
                .Cells(derligA + 1, 6) = TextBox3 * (1 - Format(TextBox4, "0.00"))
                .Cells(derligA + 1, 7) = TextBox5
                .Cells(derligA + 1, 8) = TextBox3 * (1 - Format(TextBox4, "0.00")) * (1 + Format(TextBox5, "0.00"))
                .Cells(derligA + 1, 9) = TextBox2 * TextBox3 * (1 - Format(TextBox4, "0.00")) * (1 + Format(TextBox5, "0.00"))
                .Cells(derligA + 1, 10) = (.Cells(derligA + 1, 8) - .Cells(derligA + 1, 6)) * .Cells(derligA + 1, 3)
                .Cells(derligA + 1, 11) = ComboBox2
                TextBox16 = Format(TextBox2 * TextBox3 * (1 - Format(TextBox4, "0.00")) * (1 + Format(TextBox5, "0.00")), "0.000")
                TextBox17 = .Cells(derligA + 1, 9).Value
            End If
    End If
End With

Est ce que j'ai répondu à la question ? :)

Rechercher des sujets similaires à "valeur textbox userform"