Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème dans code

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

sten83

XLDnaute Occasionnel
Bonjour, je rencontre un petit problème avec du code dans mon module.
J'ai un usf qui contient plusieurs textbox, je voudrais faire le calcul entre le text1 et le text2 puis récupérer le total dans le text3 (text1 * text2 total dans text3), le tout renvoyer vers la BDD puis remise a zéro des textbox.
mais a chaque fois je rencontre un problème dans le code .
Je joint mon fichier.
merci pour votre aide.
 

Pièces jointes

Re : Problème dans code

Bonjour à tous


Pour ton calcul sur l'userform
Supprimes Text1_Change
et testes ce code pour Text2_Change
Code:
Private Sub Text2_Change()
Me.Text3.Value = Val(Text1) * Val(Text2)
End Sub

PS: La saisie des nombres décimaux devra se faire avec le le point pas la virgule : 1.56
 
Re : Problème dans code

Re


Comme on est dimanche matin et que j'ai zappé la célébration d'un quelconque culte, je passe le temps comme je peux 😉
Voici ma version de ton code
(PREALABLE: il faut remplir la propriété Tag des contrôles utiles)

[TABLE="class: grid, width: 250"]
[TR]
[TD]Nom du contrôle
[/TD]
[TD]Tag
[/TD]
[/TR]
[TR]
[TD]DTPicker1
[/TD]
[TD]1
[/TD]
[/TR]
[TR]
[TD]TextLieuStation
[/TD]
[TD]2
[/TD]
[/TR]
[TR]
[TD]ComboListeCarburant
[/TD]
[TD]3
[/TD]
[/TR]
[TR]
[TD]Text1
[/TD]
[TD]4
[/TD]
[/TR]
[TR]
[TD]Text2
[/TD]
[TD]5
[/TD]
[/TR]
[TR]
[TD]Text3
[/TD]
[TD]6
[/TD]
[/TR]
[/TABLE]
NB: Dans VBE appuyez sur F4 pour afficher la fenêtre Propriétés
Code:
Private Sub CmdValideEntree_Click()
Dim o As Worksheet, li&, i%
Set o = Sheets("BDD")
li = o.Cells(Rows.Count, 1).End(3)(2).Row
With MENU.Controls
    For i = 0 To .Count - 1
     If Len(.Item(i).Tag) > 0 Then
     o.Cells(li, CLng(.Item(i).Tag)) = .Item(i).Value
     On Error Resume Next
    .Item(i).Value = ""
     End If
    Next
End With
End Sub
Code:
Private Sub Text2_Change()
Me.Text3.Value = Val(Text1) * Val(Text2)
End Sub
Code:
Private Sub UserForm_Initialize()
Dim carburants
carburants = Array("Gazoil", "Sans plomb 98", "Sans plomb 95", "Gaz")
MENU.Caption = ThisWorkbook.Name
ComboListeCarburant.List = carburants
End Sub
 
Dernière édition:
Re : Problème dans code

Bonsoir à tous

sten83
A qui adresses-tu ta dernière question ?
Si cela concerne le dernier code que je t'ai soumis (il fonctionne je l'ai testé avant de le poster)
As-tu bien fait toutes les étapes préalables comme indiqué dans mon message ?
A savoir: renseigner la propriété Tag des contrôles (voir tableau dans précédent message)
 
Re : Problème dans code

Bonsoir à tous

sten83
Le code fonctionne pourtant
(il y avait juste un petit bug pour la colonne F qui recevait un 0 comme valeur)
Ceci est corrigé avec cette modification
Code:
Private Sub CmdValideEntree_Click()
Dim o As Worksheet, li&, i%
Set o = Sheets("BDD")
li = o.Cells(Rows.Count, 1).End(3)(2).Row
With MENU.Controls
    For i = 0 To .Count - 1
    If Len(.Item(i).Tag) > 0 Then
    o.Cells(li, CLng(.Item(i).Tag)).Value = .Item(i).Value
    End If
     On Error Resume Next
    .Item(i).Value = ""
    Next
End With
o.Cells(li, "F") = o.Cells(li, "D") * o.Cells(li, "E")
End Sub
La preuve en image ci-dessous 😉
 
Re : Problème dans code

Je suis complétement dérouté cela ne fonctionne toujours pas , c'est un mystère. Je joint a nouveau le fichier que tu puisse voir si toutefois il y avait une erreur caché mais je n'ai rien trouvé.
C'est quand même bizarre ?????
Merci encore pour ton aide, la je ne sais plus que faire.
 

Pièces jointes

Re : Problème dans code

Bonsoir à tous

sten83
Si cela fonctionne... 😉
Va voir dans la cellule A11553 😉


NB: Fait un peu de ménage sur ta feuille BDD
(ne garde que la ligne d'entête puis refait un test 😉 )
 
Dernière édition:
Re : Problème dans code

Alors la c'est un mystère pourquoi c'est aller se mettre dans ces cellules??????
Je vais voir si ça continue a fonctionner correctement encore merci.
 
Re : Problème dans code

Re


sten83
Tout simplement parce la dernière ligne non vide en colonne A n'était pas A3 la première fois que tu as fais des tests avec mon code 😉
Comme c'était pourtant presque* le cas sur ma copie d'écran du message #9
https://www.excel-downloads.com/threads/probleme-dans-code.219846/

*
: on peut déduire de l'image que j'ai lancé la macro 2 fois 😉 puisque li sera = à A5 à la troisième exécution de la macro 😉
 
Dernière édition:
- 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
43
Affichages
831
Réponses
12
Affichages
366
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
319
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…