Microsoft 365 Choix d'une feuille de classeur spécifique où enregistrer des données à partir d'une combobox

Olive de BI

XLDnaute Nouveau
Bonjour,
Pardonnez moi si le sujet a été mainte fois exploré mais je ne trouve pas la réponse appropriée.
J'ai créé un classeur avec 14 feuilles. Un sommaire qui me sert à naviguer, 12 feuilles pour chaque mois de l'année et une feuille bilan. J'ai créé un userform pour pouvoir saisir le prénom, le nom, l'adresse mail et les numéros de téléphone de mes nouveaux patients ainsi que le tarif de la consultation. Au travers du choix du mois dans la combobox de mon formulaire je voudrais que ces entrées s'enregistre sur la feuille "mars" si dans la combobox j'ai sélectionné "mars" et que je valide les entrées en cliquant sur le bouton "ajouter".
Pouvez-vous m'aiguiller?
d'avance merci pour votre attention
 
Solution
Bonjour
Il n'y a pas de bouton ajouter...
Mais il y a une scrollbar quand tu es tout en bas le label NOUVEAU s'affiche... => ajouter
si tu deplaces le scrollbar tu as acces aux autres enregistrements que tu peux modier ou supprimer.

A+ François

Olive de BI

XLDnaute Nouveau
Bonjour François et merci de votre attention.
Je ne suis pas sûr de faire comme il faut mais voici le code que j'ai pour mon formulaire. La Feuil5 étant pour l'instant la feuille "Janvier":
Je vais de ce pas essayer votre proposition.
Merci

VB:
'**************************************
' Procédure permettant d'initialiser
' le formulaire
'**************************************

Private Sub UserForm_Initialize()
    'Déclaration des variables
    Dim NouvelID As Long
    ' email
    Dim txtEmail As String
       

    NouvelID = Application.WorksheetFunction.Max(Feuil5.Range("A:A")) + 1
    Me.txtNombre = NouvelID
    Me.cboMois.SetFocus
    Me.lblMessage = "Veuillez choisir un mois pour le nouveau patient"
End Sub

'***************************************
' Procédure permettant de réinitialiser
' les champs du formulaire
'***************************************

Private Sub btnEffacer_Click()

    Me.txtPrenom = ""
    Me.txtNom = ""
    Me.txtEmail = ""
    Me.txtTarif = ""
    Me.lblMessage = ""
   
End Sub

'***************************************
' Procédure permettant d'ajouter un
' nouvel enregistrement dans la base
' de données
'***************************************

Private Sub btnNouveau_Click()
'On teste que les contrôles ont bien été saisie
    If Len(Me.cboMois) = 0 Then
    Me.lblMessage = "Veuillez choisir un mois"
    Me.cboMois.SetFocus
    ElseIf Len(Me.txtPrenom) = 0 Then
    Me.lblMessage = "Veuillez saisir le prénom du Patient."
    Me.txtPrenom.SetFocus
    ElseIf Len(Me.txtNom) = 0 Then
    Me.lblMessage = "Veuillez saisir le nom du Patient."
    Me.txtNom.SetFocus
    ElseIf Len(Me.txtEmail) = 0 Then
    Me.lblMessage = "Veuillez saisir le mail du Patient."
    Me.txtEmail.SetFocus
    ElseIf Len(Me.txtTarif) = 0 Then
    Me.lblMessage = "Veuillez saisir le tarif de la consultation."
    Me.txtTarif.SetFocus
    Else    'Si tous les champs sont complets, alors on peut sauvegarder la source
        ' On cherche la prochaine ligne vide de la source en partant du bas
        Feuil5.Activate
        Feuil5.Range("A1048576").End(xlUp).Offset(1, 0).Select
        ' On affecte les données du formulaire dans la source
        ActiveCell = ActiveCell.Offset(-1, 0) + 1
        ActiveCell.Offset(0, 1) = Me.txtPrenom
        ActiveCell.Offset(0, 2) = Me.txtNom
        ActiveCell.Offset(0, 3) = Me.txtEmail
        ActiveCell.Offset(0, 4) = CCur(Me.txtTarif)
               
        ' On vide le formulaire pour une prochaine saisie
        Call btnEffacer_Click
        Unload Me
        Feuil5.Activate
    End If
   
End Sub

Private Sub btnModifier_Click()
        Unload Me
        Feuil5.Activate
        Feuil5.Range("A1048576").End(xlUp).Offset(0, 1).Select
End Sub

'******************************
' Procédure permettant de
' fermer un formulaire
'******************************

Private Sub btnQuitter_Click()

    Unload Me

End Sub
 

Olive de BI

XLDnaute Nouveau
Bonjour et bienvenu sur le forum
Un fichier est TOUJOURS le bienvenu...
VB:
with sheets(combobox.value)
  lig=.range("A"&rows.count).end(xlup).row+1
  .cells(lig,1)=me.textbox1....
end with

A+ François
Bonjour François,
Merci pour ta proposition de fichier mais je n'arrive pas à l'adapter à mon besoin.
J'ai finalement compris pourquoi mon fichier était trop lourd, une histoire d'image de fond de mon userform.
Voici le fichier du coup.
Peut être que ce sera plus simple de comprendre mon besoin.
Merci d'avance et bonne journée.
 

Pièces jointes

  • essai001 - Copie.xlsm
    167.4 KB · Affichages: 1

fanfan38

XLDnaute Barbatruc
Bonjour
Il n'y a pas de bouton ajouter...
Mais il y a une scrollbar quand tu es tout en bas le label NOUVEAU s'affiche... => ajouter
si tu deplaces le scrollbar tu as acces aux autres enregistrements que tu peux modier ou supprimer.

A+ François
 

Pièces jointes

  • essai001 - Copie.xlsm
    154.4 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 230
Membres
103 160
dernier inscrit
Torto