1 pièce(s) jointe(s)
Codes UserForm Excel 2016
Bonjour à tous
J'ai créé un formulaire pour saisir des données sur une feuille qui comporte 5 colonnes :
Nature des opérations
Mode de paiement
Débit
Crédit
Solde (lequel se calcul par une formule)
A chaque nouvelle saisie les infos s’inscrivent bien sur la feuille de données. Mais j’ai trois problèmes :
1) Lorsque je saisie une nouvelle donnée, celle-ci remplace purement et simplement les infos de la première ligne alors que je voudrais que cette nouvelle information s’inscrive, juste dessous, sur la première ligne vierge.
2) Le formulaire contient un cadre (frame) avec 2 optionbutton : « Dépense » et « Recette ».
Voici le code que j’ai saisi pour le Bouton « Valider » (pour les boutons OptionButton1 et OptionButton2 je n'ai pas mis de code) :
Code:
1 2 3 4 5 6 7 8 9 10
| Private Sub Bouton_Valider_Click()
' Validation de l'opération
Sheets("Feuil1").Range("A4") = ComboBox1.Value
Sheets("Feuil1").Range("B4") = ComboBox2.Value
If OptionButton1 = True Then
Sheets("Feuil1").Range("C4") = TextBox1 Choix « Dépense »
Else
Sheets("Feuil1").Range("D4") = TextBox1 Choix « Recette »
End If
End Sub |
Bien entendu, lorsque je clique sur le bouton « Dépense », la valeur « Montant » s’inscrit dans la colonne C, ligne 4 et si je choisie « Recette » l’inscription se fait dans la colonne D, ligne 4, étant précisé, comme je l’ai dit plus haut, qu’à chaque donnée, celle-ci remplace purement et simplement les infos de la première ligne et ne s’enregistre pas sur la ligne suivante.
Je voudrais que la valeur inscrite dans le TextBox "Montant" s’inscrive dans la colonne « C » si je choisie « Dépense » et dans la colonne « D » si je choisie le bouton « Recette », et qu'à chaque saisie, les informations s’enregistrent sur la première ligne libre (vierge) de ma feuille. Pour l’instant, les infos s'inscrivent sur la même ligne et écrasent celles précédemment enregistrées.
3) Pour l’instant, je n’ai qu’une feuille de saisie. Mais j’ai l’intention d’en créer une par mois (c’est-à-dire 12) et d’utiliser le même Userform pour chaque feuille de saisie mensuelle. Quel est le code ? Que faut-il que je modifie dans la feuille « Code » de l’Userform pour que celui-ci soit utilisable sur toutes les feuilles de saisie.
J’ai cherché un peu partout sur Internet : sans succès.
Je joins le fichier que j’ai créé.
D’avance, je vous en remercie
Bramoset
Codes UserForm Excel 2016
Bonjour,
Merci TSAFACK-M pour ta réponse.
Un petit souci avec le code proposé : quand je saisie une opération et que je choisis "Recette", j'ai un message d'erreur à la ligne "Sheets("Feuil1").Range "D" & Ligne) = TextBox2.Value". De plus, la "nature des opérations" et le "Montant" (Colonne crédit) ne s’enregistrent pas.
A suivre
Cordialement
Bramoset
[XL-2016] Codes UserForm Excel 2016
Merci TSAFACK-M d'avoir travaillé pour me dépanner.
Je vais tenter ma chance avec le code ci-dessus.
A bientôt
Bramoset
XL-2016 - Codes UserForm Excel 2016
Bonjour,
J'ai actuellement un classeur "Budget" avec, entre autre, douze feuilles de saisie mensuelles que j'alimente, chaque mois, au vu de mon relevé bancaire mensuel. Chaque feuille comporte, pour les rubriques "Nature des opérations" et "Mode de paiement", des listes déroulantes dans lesquelles je choisie l'opération (Colonne A) puis le mode de paiement (Colonne B) et enfin le montant en débit (Colonne C) ou en crédit (Colonne D). Les infos saisies mensuellement vont alimenter des feuilles, également mensuelles, répartissant les opérations par nature de recettes et de dépenses. Tout cela fonctionne parfaitement. Mais j'ai pensé que ce serait peut-être plus facile d'utiliser un formulaire pour saisir mes infos mensuelles, plutôt que de cliquer sur les listes déroulantes. Pour que ce soit efficace, il faut que le même formulaire soit utilisable sur chacune des feuilles.
Je vais voir les modifications que tu as apportées.
Merci
Cordialement
Bramoset
[XL-2016] Codes UserForm Excel 2016
Merci TSAFACK-M,
Je vais suivre tes conseils et utiliser le fichier que tu viens de m'envoyer.
Merci pour tout
Bramoset