Erreur code VBA

Bonjour le forum,

Dans mon userform j'ai 5 textboxs

2 textboxs en calcul immédiat

  • La première est un résultat en Euro : TxtMensuel
    la deuxième une date d'échéance : TxtButee

Ensuite une textbox à remplir : TxtQte1

et 2 textbox déjà rempli :

Private Sub TxtQte1_Change()
    J = 30
    TxtEcheance1 = Format(TxtEcheance1, "30 Jours")
    If TxtQte1 = "" Then TxtMensuel = "": GoTo 1
    If TxtQte1 = "" Then TxtButee = "": GoTo 1
    TxtMensuel = TxtRestantDu / TxtQte1
    TxtButee = CDate(TxtQte1) + CDate(TxtDate)
    TxtEcheance1 = CDbl(J)
1   tot = 0
    TxtButee = DateAdd("m", Me.TxtQte1, Me.TxtDate)
    If IsNumeric(TxtMensuel) Then tot = tot + CDbl(TxtMensuel)
    If CDate(TxtButee) Then tot = tot + CDate(TxtButee)
'    TxtButee = DateAdd("m", (Me.TxtQte1 + Me.TxtDate))
    TxtMensuel = Format(tot, "0.00€")
    TxtQte1 = Format(TxtQte1, "0")
'    m = TxtButee
'    If TxtButee <> "" Then _
'    TxtButee = DateAdd("mm", m, TxtDate) Else
'    If Val(Me.TxtQte1) > 0 Then

End Sub

si je prends 24 en qté et dans le resultat est pour

je ne comprends pas

Amicalement

Laurent

Bonjour

Supposition : Cela ressemble à une macro appelée (à tort) plusieurs fois

Il faudrait ton fichier dans lequel tu notes les opérations à faire afin d'arriver à ce résultat

Bonjour le forum, bonjour Banzai

Je joins le fichier par contre le code est dans R_REGLEMENT_1

Le fichier est loin d'être terminé.

Cordialement

Laurent

Bonjour

Marre de me casser la tête à essayer de comprendre comment fonctionne ton fichier

Comme déjà demandé tu notes exactement les démarches à faire pour arriver au bug

J'ai testé :

Après avoir cliquer sur la forme "Vérifier" dans la page "SUIVI FACTURES", j'arrive dans l'Userform "P_PAIEMENT"

Clic sur une ligne de la ListView

Clic sur la CheckBox

Dans l'Userform "Q_MODE_REGLEMENT" je sélectionne "Espèces"

J'arrive dans un Userform "R_REGLEMENT_1" dans lequel il y a le fameux "TxtQte1" de ton premier post (ouf je suis dans le bon Userform)

Quand je veux le modifier --> plantage direct

Une autre fois je veux modifier "TxtMontantTTC", impossible de rentre un nombre supérieur à 9

Et abandon tant que je ne sais pas ce qu'il faut faire

Bonjour le forum, le fil, Banzaï

(1). Pour le moment le code de validation dans P_Paiement n'est pas encore effectuer

(2). Les codes dans les R_REGLEMENT_1, R_REGLEMENT_2, R_REGLEMENT_3, R_REGLEMENT_4, R_REGLEMENT_5 ne sont pas encore attribuer.

Je viens de vider les textboxs qui te déranger. Le Calcul que je demandais dans le premier post est incorrect.

Pour le moment je voudrais juste faire le calcul (tout en sachant que les textboxs pour le moment ne sont pas remplies)

Le calcul se d'éclanche à partir de la textbox dont le label s'apelle RESTANT DU, DATE (Date du jour), ECHEANCE.

Ensuite , En sélectionnant P_PAIEMENT, nous avons dans une listBox le rappel du Tableau SUIVI_DES_FACTURES.

Dans cette listBox les factures dite"validée" apparaissent en vert et la frame paiement correspondante à la facture sélectionnée doit être obligatoirement remplie

.

Pour les factures dite "en attente", nous validons cette facture par une liste déroulante type (ComboBox), les moyens de paiements possible

.

Ou, par une facilité de Paiement type (CheckBox).

COMBOBOX : la frame du paiement correspondanre s'affiche et les textboxs "MONTANT TTC, MAJORATION, RESTANT DU, LA DATE DU JOUR".

Nous rentrons les informations manquantes qui les remplirons le tableau SUIVI_DES_FACTURES. Un contrôle s'effectue pour vérifier que les textbox ne soient pas vide.

A la VALIDATION, les informations dans les carrés ROUGE de la feuille <SUIVI FACTURES> sont remplies.

Pour la textbox "MONTANT RECU" remplie la colonne 37, et l'opération est fini.

CHECKBOX : Q_MODE_REGLEMENT s'ouvre et un choix de 5 paiement est possible.

Prenons l'exemple le choix du paiement VIREMENT.

R_REGLEMENT_3 s'ouvre avec les informations pré-remplies dans les textboxs "MONTANT TTC, MAJORATION, RESTANT DU, LA DATE DU JOUR".

Nous remplissons les informations manquantes des textboxs de 1 à 9.

Ensuite nous remplissons la textbox TxtQte3 par un chiffre de 1 à 24 (mois).

Les textboxs TxtMensuel et TxtButee font un calcul automatique selon les informations de TxtQte3.

Ensuite s'exerce un contrôle des textboxs afin de vérifier que celles-ci soient toutes remplies.

A la VALIDATION, les textboxs 1 à 9 remplissent le tableau SUIVI_DES_FACTURES les colonnes de 26 à 35 et le mot VIREMENT doit apparaître dans la colonne 25.

Et pour les textboxs TxtEcheance3 et TxtQte3 remplissent le tableau dans SUIVI DES CREANCES les colonnes 24 et 25 de la ligne de la facture choisi.

Il reste alors la textbox MONTANT RECU, elle devra rempli la colonne 38.

Et R_REGLEMENT_3 se ferme pour revenir à P_PAIEMENT avec un rafraichissement de la listbox.

Alors, soit nous recommençons une opération ou nous quittons.

Et on applique la même chose pour tous les autres modes de réglements:

  • R_REGLEMENT_1 pour ESPECES
  • R_REGLEMENT_2 pour CHEQUES
- R_REGLEMENT_3 pour VIREMENT
  • R_REGLEMENT_4 pour PAYPAL
  • R_REGLEMENT_5 pour CARTE BANCAIRE

-- FIN --

Bonsoir

Si c'est pour une redite de ce qui est marqué dans le fichier ce n’était pas la peine

J'attendais un truc du style

On clique ......, dans l'userform qui apparait tu cliques ....., ce qui donne ...... et quand j'écris .... dans ..... il y a l'erreur

Sinon j'ai essayé de suivre dans la procédure Private Sub TxtQte1_Change() supprimes la ligne

Private Sub TxtQte1_Change()
    J = 30
    TxtEcheance1 = Format(TxtEcheance1, "30 Jours")
    If TxtQte1 = "" Then TxtMensuel = "": GoTo 1
    If TxtQte1 = "" Then TxtButee = "": GoTo 1
    TxtMensuel = TxtRestantDu / TxtQte1
    TxtButee = CDate(TxtQte1) + CDate(TxtDate)
    TxtEcheance1 = CDbl(J)
1   tot = 0
    TxtButee = DateAdd("m", Me.TxtQte1, Me.TxtDate)
    If IsNumeric(TxtMensuel) Then tot = tot + CDbl(TxtMensuel)
 'If CDate(TxtButee) Then tot = tot + CDate(TxtButee)
'    TxtButee = DateAdd("m", (Me.TxtQte1 + Me.TxtDate))
    TxtMensuel = Format(tot, "0.00€")
    TxtQte1 = Format(TxtQte1, "0")
'    m = TxtButee
'    If TxtButee <> "" Then _
'    TxtButee = DateAdd("mm", m, TxtDate) Else
'    If Val(Me.TxtQte1) > 0 Then
End Sub

Je ne sais pas quelle est l'utilité de cette ligne

A voir pour les autres Userform (R_REGLEMENT_) il y a la même ligne à supprimer

Bonjour le forum, le fil, Banzaï

la ligne ne sert strictement à rien. C'est juste parceque à force d'écrire certaine passe juste en commentaire temps que je n'ai pas trouvé la solution. Sinon j'ai trouvé. Merci Banzaï

 Private Sub TxtQte1_Change()
    J = 30
    TxtEcheance1 = Format(TxtEcheance1, "30 Jours")
    If TxtQte1 = "" Then TxtMensuel = "": GoTo 1
    If TxtQte1 = "" Then TxtButee = "": GoTo 1
    TxtMensuel = TxtRestantDu / TxtQte1

    TxtEcheance1 = CDbl(J)
1   tot = 0
    TxtButee = DateAdd("m", Me.TxtQte1, Me.TxtDate)
    If IsNumeric(TxtMensuel) Then tot = tot + CDbl(TxtMensuel)

    TxtMensuel = Format(tot, "0.00€")
    TxtQte1 = Format(TxtQte1, "0")

End Sub

cordialement

Laurent

Rechercher des sujets similaires à "erreur code vba"