[Excel 2003] Problème d'insertion dans une feuille via un formulaire

  • Initiateur de la discussion Initiateur de la discussion Taddy
  • Date de début Date de début

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 !

T

Taddy

Guest

Bonjour à tout le monde,

J'ai débuté récemment en VBA Excel et je rencontre le problème suivant.
Je veux via un formulaire insérer des informations sur une personne. Pour cela je clique sur un bouton insérer dans la feuille qui affiche le formulaire mais qui m'ajoute deux lignes une en-dessous du header et l'autre en-dessous de la dernière ligne remplie.
Ce que je souhaite faire est d'insérer mes données après la dernière ligne et je n'y arrive pas.

Quelqu'un pourrait me donner une piste pour continuer, svp??
Merci d'avance.

 

Pièces jointes

Dernière modification par un modérateur:
Re : [Excel 2003] Problème d'insertion dans une feuille via un formulaire

Bonjour Taddy,
Tout d'abord bienvenu sur le forum ! Est-ce que vous pourriez déposer un exemple anonyme de votre fichier en pièce jointe pour que l'on puisse vous proposer des solutions concrètes ?

À vous lire pour plus,

Cordialement,
Étienne
 
Re : [Excel 2003] Problème d'insertion dans une feuille via un formulaire


Bonjour Etienne,

Mon fichier étant trop gros, j'ai dû l'épurer. Je l'ai donc joint à mon précédent message.
Merci pour votre réactivité.

--
Taddy
 
Re : [Excel 2003] Problème d'insertion dans une feuille via un formulaire

Bonjour Taddy,

Voici le code de ton userForm modifié.
Code:
Private Sub UserForm_Initialize()
With FrmInsert
    .Liste_Titre_Pers.Value = ""
    .Text_Nom_Pers.Value = ""
    .Text_Prenom_Pers.Value = ""
    .Text_Rue_Pers.Value = ""
    .Text_Cmpl_Adr_Pers.Value = ""
    .Text_CP_Pers.Value = ""
    .Text_Ville_Pers.Value = ""
    .Liste_Cours_Pers.Value = ""
End With
End Sub
Private Sub ButtonCancelPers_Click()
Unload FrmInsert
End Sub
Private Sub ButtonOKPers_Click()
'Insertion sur la ligne selectionnée
    Dim n As Integer
    With Sheets("Liste")
        n = .Range("A1").End(xlDown).Offset(1).Row
        'Essai
        .Cells(n + 1, Range("TITRE").Column).Value = Me.Liste_Titre_Pers
        .Cells(n + 1, Range("NOM").Column).Value = Me.Text_Nom_Pers
        .Cells(n + 1, Range("PRENOM").Column).Value = Me.Text_Prenom_Pers
        .Cells(n + 1, Range("RUE").Column).Value = Me.Text_Rue_Pers
        .Cells(n + 1, Range("ADRESSE").Column).Value = Me.Text_Cmpl_Adr_Pers
        .Cells(n + 1, Range("CP").Column).Value = CDbl(Me.Text_CP_Pers)
        .Cells(n + 1, Range("VILLE").Column).Value = Me.Text_Ville_Pers
        .Cells(n + 1, Range("COURS").Column).Value = Me.Liste_Cours_Pers
        'Tri selon l'ordre alphabétique
        .Range("Liste_Personnes").Sort _
                Key1:=Worksheets("Liste").Columns("B"), _
                Header:=xlYes
    End With
    'Boite de dialogue
    MsgBox "Une personne créée", vbOKOnly, "Message"
    'Reset du formulaire
    Unload FrmInsert
End Sub

Pas besoin de sélectionner la ligne.
J'ai vidé les propriété controlsource des TextBox qui sont ici inutiles puisque tu n'enregistre les information que sur ButtonOKPers_Click. Les modifications se faisant en temps réel si ces propriétés sont renseignées.

A+

[Edit] je joins le fichier modifié
 
Dernière modification par un modérateur:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour