Problème de textbox à l'intérieur d'un formulaire

  • Initiateur de la discussion Initiateur de la discussion a26
  • 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 !

a26

XLDnaute Occasionnel
Bonsoir,
A partir d'un formulaire de Jacques Boisgontier nommé annuaire j'ai essayé de construire un formulaire adapté à mes besoins. Malheureusement, dès qu'il y a des formules je bute sur la programmation des textbox et celui-ci m'annule la formule.
Pouvez-vous me venir en aide ? Merci.
Cordialement,
André
 

Pièces jointes

Re : Problème de textbox à l'intérieur d'un formulaire

Bonjour,
Je reviens vers vous car j'ai constaté une erreur dans la transcription du calcul du formulaire à la feuille.
Pour obtenir des euros dans le formulaire j'ai ajouté le format, mais il ne se répercute pas sur la feuille inscriptions à la colonne prix.
Les erreurs sont après la virgule ?
Merci de votre contribution.
Cordialement,
a26
 
Dernière édition:
Re : Problème de textbox à l'intérieur d'un formulaire

Des problèmes, je n'arrive pas à envoyer la pièce jointe la pièce jointe...Pourquoi ?
Si cela peut se régler sans.
Prix adultes : 18.00 €
Prix enfants : 8.50 €
Si je saisis 1 adulte et un enfant je devrais avoir 26.50 € et en réalité j'ai 26.00 €
 
Re : Problème de textbox à l'intérieur d'un formulaire

Bonsoir a26,

Le problème est dû au séparateur décimal dans Txt6: il faut remplacer la virgule par le point décimal. Ainsi, le total sera exact en colonne F.

Je te propose donc de tester ce nouveau fichier.

NB: je crois qu'il n'est pas possible d'afficher un format monétaire dans un TextBox. En tout cas, je n'ai pas encore trouvé la méthode pour le faire malgré de nombreux essais.

Cordialement.
 

Pièces jointes

Re : Problème de textbox à l'intérieur d'un formulaire

Bonsoir à tous

NB: je crois qu'il n'est pas possible d'afficher un format monétaire dans un TextBox. En tout cas, je n'ai pas encore trouvé la méthode pour le faire malgré de nombreux essais.
Cordialement.

Sauf erreur de ma part, on peut le faire comme ceci, non 😉
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Value = Format(TextBox1.Value, "# ##0.00 €")
End Sub
Code:
Private Sub UserForm_Initialize()
Dim SixFrancsSixSous
SixFrancsSixSous = "2014"
TextBox1.Value = Format(SixFrancsSixSous, "# ##0.00 €")
End Sub
 
Re : Problème de textbox à l'intérieur d'un formulaire

Bonjour,
Merci pour le résultat Papou-net, j'ai constaté que cela fonctionnait bien dans le fichier en retour. Par contre, je n'ai pas su voir ou trouver ce que tu as changé dans le code (il faut remplacer la virgule par le point décimal) ? Même problème avec la réponse de Staple1600, où placer ces 2 codes ? J'ai essayé, cela ne fonctionne pas. Je n'ai pas encore votre niveau de compétences et il me faut pas mal d’expérimentation pour comprendre le fonctionnement du code.
Bonne journée à tous les deux.
Cordialement,
a26
 
Re : Problème de textbox à l'intérieur d'un formulaire

Bonjour a26, JM, le Forum,

@a26:

Au temps pour moi, dans la version que je t'ai transmise j'ai procédé différemment:

- J'ai commencé par déclarer Dim Total As Currency en tête de module

- J'ai modifié la procédure "tot":

Code:
Sub tot()
  Me!Txt5 = Val(Me!Txt2) + Val(Me!Txt3) + Val(Me!Txt4)
  Total = Val(Me!Txt2) * [adultes] + Val(Me!Txt3) * [enfants] + Val(Me!Txt4.Value) * [emportés]
  Me!Txt6 = Total
End Sub
- et enfin la procédure b_validation:

Code:
Private Sub b_validation_Click()
   If Me.Txt1 = "" Then
      MsgBox "Saisir un nom!"
      Me.Txt1.SetFocus
      Exit Sub
   End If
   Set temp = f.[A:A].Find(Me.Txt1, LookIn:=xlValues)
   If Not temp Is Nothing Then
     If temp.Row <> ligne Then
       MsgBox "Existe déjà!"
       Exit Sub
     End If
  End If
  '---- transfert base
  For i = 1 To ncol - 1
   f.Cells(ligne, i) = Val(Me("txt" & i))
  Next i
   f.Cells(ligne, 6) = CCur(Total)
   f.Cells(ligne, 1) = Application.Proper(Me("txt" & 1))
   Me.Txt1.SetFocus
   f.[A8].Resize(5000, ncol).Sort key1:=f.[A8]
   ligne = f.[A:A].Find(Me.Txt1, LookIn:=xlValues).Row
   majChoixNom
End Sub

@JM:

J'avais déjà testé le formatage de txt6 mais ça ne fonctionnait pas. Et ça ne marche pas davantage aujourd'hui.

Cordialement.
 
Re : Problème de textbox à l'intérieur d'un formulaire

Bonjour à tous,
Bonjour a26,

N'aimant pas trop laisser les choses en suspens, j'ai trouvé un moyen d'afficher le montant total dans Txt6 au format monétaire.

Il te suffit donc d'ajouter la procédure suivante au code du module F_Lettre2:

Code:
Private Sub Txt6_Change()
Txt6.Text = Int(Total) & "," & Mid(100 + (Total - Int(Total)) * 100, 2) & " €"
End Sub
Bonne journée.

Cordialement.
 
Re : Problème de textbox à l'intérieur d'un formulaire

Bonsoir Papou-net,
Je viens de tester et c'est parfait. Le total apparaît bien en Euros dans le textbox. Je ne sais pas comment te remercier pour le suivi de mon post et pour ton aide précieuse.Ta compétence m'impressionne, mais surtout le temps gratuit passé à résoudre les problèmes des autres.
A bientôt sur le forum.
Cordialement,
a26
 
Re : Problème de textbox à l'intérieur d'un formulaire

salut

quel est l'avantage de passer par un formulaire qui reprend chaque ligne avec multiplication des contraintes, garde-fous (contenus, formats des contrôles) ?
Tu ne pourrais pas te contenter de gérer le tout sur la feuille avec seulement un Usf* pour filtrer selon l'initiale ?

Nota : en passant par l'outil Tableau, on n'a plus à se préoccuper des formats, formules ... mis à jour après insertion ou suppression d'une 'ligne du Tableau" !

* dans l'exemple joint (2 extensions mais fichiers identiques) il y en a 2, l'un très simple qui ne retient que les initiales trouvées, l'autre étant un peu plus délicat à programmer (pour ceux qui ne maitrisent pas le Module de Classe).
 

Pièces jointes

Re : Problème de textbox à l'intérieur d'un formulaire

Bonjour Si...,
Tes fichiers avec l'outil Tableau sont très intéressants. Je connaissais déjà la procédure tableau mais pas aussi complète avec les 2 userforms en particulier le pavé lettres.
J'ai choisi le formulaire car il me semblait plus adapté à mon utilisation : ajout noms, suppression, BD. D'autre part il me permettait en demandant de l'aide de mieux comprendre la programmation de ceux-ci.
Comme je suis malgré tout avide d'apprendre et compte utiliser ta version pour une autre utilisation peux tu rentrer dans les explications ? Un module de Classe es-ce pour les 2 userforms ?
Sors tu les 2 commandes de la boîte à outils contrôles ?
Comment agrandir ton pavé pour avoir une vision plus claire des des lettres et comment ?
Merci à toi.
Cordialement,
a26
 
Re : Problème de textbox à l'intérieur d'un formulaire

Re

eh oui, outil très puissant quand on arrive à le maitriser quelque peu, sans oublier notamment le clic bouton droit de la souris qui nous réserve toujours d'agréables surprises.
Dans le fichier joint, je n'ai gardé qu'un seul formulaire et ajouté des images explicatives. Dans le cadre d'un Userform, la page de ses propriétés est trop souvent négligée !
 

Pièces jointes

Re : Problème de textbox à l'intérieur d'un formulaire

Absent hier, je n'ai pu te répondre. Merci pour ces explications même si je connaissais (un peu) l'utilisation de propriétés formulaire et le clic droit. Le fichier en question étant destiné à une association, j'ai pris en compte leur demande pour le construire car il sera tenu par eux. N'étant pas encore suffisamment performant en codage il m'arrive souvent de me faire aider et ce que j'apprécie en particulier c'est les commentaires sur la manière de procéder ce qui me permettra peut-être à mon tour de faire la même chose que vous c'est à dire répondre à un post en proposant des solutions.
Tu ne m'a pas répondu concernant le bouton d'appel du formulaire, je ne connais pas encore cette utilisation. J'insère un bouton ou un CommandButton, mais je ne vois pas l'objet que tu a inséré.
En ce qui concerne les modules de Classe j'ai tout à apprendre et je suis preneur de quelques explications.
Bonne journée.
Cordialement,
a26
 
Re : Problème de textbox à l'intérieur d'un formulaire

salut
Tu ne m'a pas répondu concernant le bouton d'appel du formulaire, je ne connais pas encore cette utilisation. J'insère un bouton ou un CommandButton, mais je ne vois pas l'objet que tu a inséré.

j'ai procédé comme toi avec son utilisation classique mais dans la liste de ses propriétés regarde Caption , Font . J'utilise les polices Webdings ou Windings (ou autres) qui fournissent des caractères spéciaux. Je choisis ceux qui peuvent donner une idée de l'action associée.

Ici pour le Module de Classe il y a 2 parties :
- la création, dans "l'initialize de l'userform", avec les contrôles impliqués
- le module, avec l'action commune à ces objets
sans oublier les déclarations des variables

Mais il y a encore beaucoup à savoir et tu trouveras ici et là des explications plus approfondies.
Bonne continuation
 
- 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

T
Réponses
2
Affichages
1 K
Tava94
T
H
Réponses
21
Affichages
2 K
H
C
Réponses
3
Affichages
851
C
T
Réponses
1
Affichages
1 K
Retour