Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Codes Userform

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
 

Jean Pierre REYNAUD

XLDnaute Junior
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

  • Test_Budget_Personnel_v29_03_2018.xlsm
    684.9 KB · Affichages: 40

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…