XL 2016 Codes Userform

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 !

Jean Pierre REYNAUD

XLDnaute Junior
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) :
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.
J'aurais bien aimé vous joindre le fichier que j’ai créé mais, apparemment, il est trop volumineux.
D’avance, je vous en remercie
Jean Pierre REYNAUD
 
Bonjour François,
Je m'adresse à toi plus particulièrement car tu as trouvé la solution au problème que javais posé.
J'ai adapté le fichier que tu as corrigé (et qui fonctionne particulièrement bien) a un classeur que je joins.
Ce classeur ne comportait pas d'UserForm et j'ai utilisé celui du fichier précédemment transmis (Budget_03_18(8).xlsm) que tu as si efficacement corrigé.
Je n'ai aucun message d'erreur lorsque je tente de saisir les données mais celles-ci ne s’inscrivent pas dans la feuille (ligne et colonne) correspondante. Je pense pourtant avoir scrupuleusement utiliser les codes et reproduit exactement les feuilles, les formats et les noms de plage.
Le bouton "Ouvrir l'UserForm" a été placé sur la feuille "Saisie_Janvier", mais les autres pages s'ouvrent sans problème si je choisi un autre mois.
J'espère que là aussi tu va pouvoir me "débugger" mon fichier.
Merci d'avance
 

Pièces jointes

- 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
4
Affichages
84
Réponses
11
Affichages
96
Réponses
7
Affichages
177
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
Retour