tout d'abord je vous souhaite une bonne et heureuse année 2020. Que cette année soit riche en formules, macros, code VBA... mais aussi pleine de réponses.
J'ai fait un petit formulaire afin de remplir au jour le jour le suivi d'utilisation de ma carte bleue mais lorsque je valide le formulaire je me retrouve avec une erreur d'exécution "13".
Je ne comprends pas trop car si je remplis toutes mes catégories cela fonctionne très bien.
Bonjour
Le fait de mettre dans le panier rempli la liste uniquement,
et tu peux en rajouter d'autres en sélectionnant une autre catégorie et la somme associée
tu peux donc mettre plusieurs lignes dans le panier , et éventuellement en supprimer par double clic.
c'est en fait lorsque tu appuies sur le bouton valider que tu valides l'ensemble du panier et que tu transfères les valeurs dans la base de donnée
Bonjour M12,
Je te souhaite également une bonne année.
J'ai modifié comme tu m'as dis mais le montant dans la catégorie concerné n'apparaît plus sous forme de nombre mais plutôt comme du texte. C'était donc pour cette raison que j'avais inséré CDbl.
De ce fait, est-ce qu'il y a un moyen d'incrémenter le tableau en gardant le format nombre ?
nota: attention les dégâts si les textbox ne sont pas documentées
Le fait d'introduire des formats dans les textbox crée des pb , après c'est plus dur à traiter
il faut sécuriser ton userform en mettant des contrôles de saisie
C'est simple
Une textbox renvoi du texte.
Il faut donc le convertir en numérique(CDBL)
mais il faut que cela soit compatible et ne comporte pas de caractère alphanumérique.
Mais comme tu mets le format Euros dans ta textbox (E) c'est pas possible de le transformer en cdbl
il te faut donc supprimer celui ci lors du transfert vers la feuille d'ou: len = nombre de caractères dans ta textbox
d'ou la fonction left (gauche) de ta textbox avec le nombre de caractères -1
un conseil pour la saisie des textbox : interdire la saisie des alpha
par exemple :
j'interdit de saisir des caractèteres alpha dans la combo
VB:
Private Sub Textbox3_KeyPress(ByVal Touche As MSForms.ReturnInteger)
If InStr("0123456789.,", Chr(Touche)) = 0 Then Touche = 0
Me.TextBox3 = Replace(Me.TextBox3, ".", ",")
End Sub
Je te mets un fichier à terminer suivant les indications figurant dans les macros
Bonjour
Voici une version que j'ai réalisé suivant ce que j'ai compris .
et comme je pense que l'on doit la réaliser ( mais je ne détiens pas la vérité , d'autre méthodes sont possibles)
J'ai commenté toutes les lignes de la macro afin de te faciliter la compréhension.
Encore merci, cela correspond à mes attentes. Cependant, pour le mois de décembre je ne peux afficher que 12 jours alors que pour les autres mois c'est correct.
Merci pour tout.
En regardant ton code je me suis pris la liberté d'y ajouter dans la ComboAnnée une liste déroulante. Après plusieurs tests ça fonctionne bien.Seul bémol, la liste déroulante avec les années fonctionne mais à la fin j'ai aussi les 2 années qui étaient concernées au départ.
Bonjour JM27,
C'est un très bon travail que tu as fait là.
Cependant, lorsque je remplis mon UserForm et que je clique sur "METTRE DANS LE PANIER" est-ce qu'il serait possible d'y ajouter plusieurs lignes avant de valider définitivement les opérations ?