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