• Initiateur de la discussion Initiateur de la discussion Raziel abel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Raziel abel

XLDnaute Occasionnel
Bonjour à tous!!!

J'ai commencé à faire un fichier Excel et je voulais savoir si je commençais à où il falait au niveau du vba.

Sur la feuille variable, j'ai commencé à faire un userform, mais avant d'aller plus loin, j'ai vu que j'avais un probléme de langage vba au niveau des textbox.

Comment, je peux faire pour entrer une vaeur dans un textebox et que cette valeur s'inscrive dans la cellule de la feuille variable.

Ensuite, je souhaiterai mettre un contrôle au niveau de la saisie qui vérifie que c'est numerique et que la valeur est supérieur à 0.

If is notnumerci .....then

x=msgbox("Mauvaise saisie,vbcritical,,,,,)

Quelquechose comme ça.

Merci d'avance pour vos réponses.

Je vais tout de même parcourir le forum à la recherche de userform pas trop compliqué à decortiquer!!!!!

Voici le fichier:
 
Re : Projet en Vba

Salut avec le code ci-dessous tu obligeras l'utilisateur à entrer du numérique sinon ca affiche 0

Code:
Private Sub TextBox1_Change()
If Not IsNumeric(TextBox1) Then
    TextBox1 = "0"
    Exit Sub
    End If
Range("recepal").Value
End Sub

A bientot
 
Re : Projet en Vba

Bonsoir le fil 🙂,
Personnellement, je passerait plutôt par l'événement Exit
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(TextBox1) Then
    MsgBox "Vous ne devez saisir que des chiffres", vbCritical, "Attention !"
    TextBox1 = ""
    Cancel = True
    Exit Sub
Else
    If TextBox1 = "0" Or TextBox1 = "" Then
        MsgBox "La valeur ne peux pas être nulle", vbCritical, "Attention !"
        TextBox1 = ""
        Cancel = True
        Exit Sub
    Else
        Range("recepal").Value = TextBox1
    End If
End If
End Sub
Bonne soirée 😎
 
Re : Projet en Vba

Bonsoir JNP, bonsoir nikkyb et bonsoir le forum!!!

Je regarde vos codes et je vais les rentrer.

Je pense que je vais revenir plusieurs fois vous consulter et j'éspere continuer mon apprentissage du vba.

Bonne soirée et à demain!!!

Cordialement!
 
Re : Projet en Vba

Bonjour le forum,

Je souhaitais connaitre comment fait on pour afficher le produit de 2 textbox dans une autre textbox?

Je vous met le fichier dans le lien ci-aprés:

PAr contre, j'ai la formule dans la cellule dans le worksheet, est ce qu'elle deviendra indispensabe si le textbox 13 fait le calcul et qu'elle renvoie le résultat dans la celule B13? Cela permettra t'il d'alléger le fichier Excel?

Cordialement,

Cijoint.fr - Service gratuit de dépôt de fichiers

Merci pour votre aide!!!

 
Re : Projet en Vba

[Bonjour le forum, bonjour Kjin,

Bien que je n'a pas compris ton code car je n'ai pas réussi à le mettre sur mon userform, je te remercie quand même.

Private Sub TextBox13_Change()

Range("b13") = TextBox13
TextBox13.Value = TextBox1.Value * TextBox11.Value

End Sub

J'ai mis ce code et ça à l'air de marché, mais il a surment des insuffisances.

Qu'en pensez vous?

Merci par avance.
 
Dernière édition:
Re : Projet en Vba

Re_à tous!!!

Alors le code que j'ai mis dans la textbox13 ne marche que lorsque je fais du pas à pas!?

Savez vous pourquoi le calcul ne se fait pas?

Je vous met le fichier dans le lien ci-joint:

Cijoint.fr - Service gratuit de dépôt de fichiers

Merci
 
Re : Projet en Vba

Re 🙂,
Pour récupérer le code de Kjin (que je salue aussi 😉), il te faut ouvrir les 2 fichier simultanément et copier le module de Classe "Classe1" dans ton fichier avec un glisser/déposer en maintenant Ctrl enfoncé.
Ensuite, tu copie/colle
Code:
Private Sub UserForm_Initialize()
Dim ctl As Control, i As Byte
For Each ctl In Controls
    If TypeName(ctl) = "TextBox" And ctl.Name <> "TextBox13" Then
        ReDim Preserve clTbx(0 To i)
        Set clTbx(i).GrTbx = ctl
        i = i + 1
    End If
Next
End Sub
dans le code de ton USF, ainsi que
Code:
Sub calcul()
TextBox13 = ""
If TextBox11 <> "" And TextBox1 <> "" Then TextBox13 = CStr(CDbl(TextBox1) * CDbl(TextBox11))
End Sub
puis de rajouter
Code:
calcul
à la fin de tes TextBox_Exit 1 et 11.
Pour finir, quand tu auras rajouté un bouton OK, ne pas oublier de mettre
Code:
If TextBox13 <> "" Then Range("B13") = CDbl(TextBox13)
Unload Me
dans le code _Click du bouton.
Bon courage 😎
 
Re : Projet en Vba

Bonjour,

J'ai une erreur de compilation,!🙁

J'ai suivi vos instructions ( et j'ai du me tromper dans le séquencement des tâches).

Sur le lein ci-joitn vous avez une imprim Ecran


Cijoint.fr - Service gratuit de dépôt de fichiers

Merci
 
Re : Projet en Vba

Bonjour,
A quoi ça sert de te fournir un exemple si tu persistes à ne pas suivre les indication qui te sont fournies ?!
Dans ton formulaire, efface tout ton code et place y le code (tout le code 🙄) du formulaire fourni en exemple (fais un copier/coller)
Dans la fenêtre projet, à l'aide de la souris, sélectionne classe1 dans le module de classe et fait le glisser sur ton fichier pour le copier
A+
kjin
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
384
Réponses
8
Affichages
659
Retour