Microsoft 365 Userform avec combobox

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

JBL07

XLDnaute Occasionnel
Bonjour à tous !

Je fais appel à nouveau à vos compétences..
Voici un classeur de suivi bancaire, épuré au max car l'original est plus complexe
J'ai souhaité insérer un userform pour faciliter la saisie des nouvelles écritures

Il y a donc un bouton/macro "Saisie" qui ouvre une nouvelle ligne de tableau vierge en Ligne 10, dans laquelle les infos saisis dans le Userform doivent s'implémenter
Et un bouton/macro " Chrono" qui après saisie retrie le tableau chronologiquement et remets en ordre la colonne Q qui m'indique le solde

Je rencontre 2 soucis :

- les 2 combo avec listes dépendantes ( Catégories dont dépend S/Catégorie ) n'affichent pas les listes ( qui se trouvent dans la feuille BD2 ), donc je ne peux pas saisir toutes mes infos
_ Si je saisi de nouvelles données en ligne 10 avec le Userform, la saisie générée ne s'inclue pas dans le tri "Chrono", et se place en haut du tableau, faussant tout

Pour finir, je souhaiterais que les 2 cellules débit / crédit affiche et valide des sommes directement dans le format monétaire

Voilà, ça fait beaucoup, mais je suis dessus depuis des heures sans parvenir à régler le tout... si qq se sent de coder ça pour moi, ce serait super
Merc par avance de vos réponses !
 

Pièces jointes

Solution
re
bonjour
si tu réfléchi une seconde tu te rend compte qu'il y a ( entre autres) erreur dans le raisonnement
comment tu peux vouloir nourrir N et O alors que l'un est débit l'autre crédit
du fait dans ta saisie tu est obligé de mettre "0" dans l'un ou dans l'autre selon un achat ou une entrée🙄
je parle même pas du non contrôle de la validité de la date 🙄 et j'en passe et des meilleures ailleurs dans le code aussi

le raisonnement n'a rien a voir avec vba soit on fait les choses dans le bon sens soit on le fait pas dans le bon sens et là c'est le crach bien évidement
VB:
Private Sub CBValider_Click()
    If Not IsDate(TextBox4) Or Len(TextBox4) < 10 Then MsgBox "la date n'est pas valide": Exit Sub
    If MsgBox("La...
Ta chaumière doit être mieux rangée que la mienne, car celà ne fonctionne pas
Et c'est bien dommage, car bien que visuellement, la solution de Chalet53 ressemble à un montant en euros correct dans les cellules N et O10, je viens de m'apercevoir que les montants ne sont pas pris en compte dans les totaux en haut de feuille ... c'est fatiguant de ne pas savoir faire, un pb peut en cacher un autre en vba !!

Je ne vous en voudrai pas si vous laissez tomber ! Lol

1609091987552.png
 
Re

Lire le message#21 😉

NB: Ci-dessous le code VBA utilisé dans le message#21
VB:
Private Sub CommandButton1_Click()
With Range("N10:O10")
.Value = Array(TextBox1 * 1, TextBox2 * 1)
.NumberFormat = "#,##0.00 $"
End With
End Sub

Private Sub UserForm_Initialize()
TextBox1 = "1600,57"
TextBox2 = "1729" 'remember  G. H. Hardy, Ramanujan ;-)
End Sub
 
Pour sûr
En attendant, je ne sais pas comment faire fonctionner ça à la suite de mes autres champs de userform, vu que ça ne match pas dans mon tableau 🙂

Private Sub CBValider_Click()

If MsgBox("La nouvelle saisie est-elle confirmée ?", vbYesNo, "demande confirmation de saise") = vbYes Then

Sheets("Ecritures").Select


Range("E10").Value = CboComptes
Range("F10").Value = CboCatégories
Range("G10").Value = CboSousCat
Range("I10").Value = TextBox1
Range("L10").Value = CboModePaie
Range("N10").Value = Format(TextBox2, "0.00" & " " & "€")
Range("O10").Value = Format(TextBox5, "0.00" & " " & "€")

End If


Unload Me
FMSaisie.Show vbModeless

End Sub
 
Bonjour le fil

JBL07
J'ai testé sur ta pièce jointe (dans le message#1)
Ci-dessous le code du bouton Valider
(J'ai généralisé la syntaxe présente dans le message#24, juste par gain de place et parce que c'est ma manière d'écrire)
VB:
Private Sub CBValider_Click()
If MsgBox("La nouvelle saisie est-elle confirmée ?", _
vbYesNo, "Demande confirmation de saise") = vbYes Then
With Sheets("Ecritures")
.Range("B10").Value = CDate(TextBox4)
.Range("E10:H10").Value = Array(CboComptes, CboCatégories, CboSousCat, TextBox1)
.Range("L10").Value = CboModePaie
.Range("N10:O10").Value = Array(TextBox2 * 1, TextBox5 * 1)
.Range("N10:O10").NumberFormat = "#,##0.00 $"
End With
End If
Unload Me
'FMSaisie.Show vbModeless
End Sub
 
- 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
38
Affichages
398
Retour