Autres USERFORM Masque de saisie

  • Initiateur de la discussion Initiateur de la discussion domeli
  • 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 !

domeli

XLDnaute Junior
Bonjour à tous.

J'ai besoin de faire un masque de saisie pour le CSE. J'ai fait une bonne partie du boulot mais il y a des choses que je ne sais pas faire.
Il y a des champs que je ne peux pas remplir tout de suite et ça me laisse des trous dans la ligne du dessus.
J'ai donc 2 problèmes à résoudre.

1- Quand je remplis une ligne avec la saisie, ça remonte sur les trous au dessus et je voudrais que ça reste sur la même ligne. Je sais que ça se passe au niveau "Range("H65536").End(xlUp).Offset(1, 0)" mais je n'arrive pas à comprendre le truc.
2- Comment revenir sur la saisie d'une ligne en particulier pour y ajouter de nouvelles informations ?

Mon fichier d'origine fait plus de 900 lignes avec beaucoup plus de colonne, mais j'ai simplifier au maximum pour aller à l'essentiel.
Un petit coup de main ne serait pas de refus.
 

Pièces jointes

apprends un peu
tout tes textboxs ont une destination
met dans leur tags la lettre de la colonne correspondante
tu a changé la feuille même si tu vois toujours "Feuil1" en fait son codename est "Feuil2"
faire la différence en codename et nom
il faut faire la différence entre feuil1.range(....) et sheets("feuil1").range(....)
bref c'est a ta porté
bonne route 😉
 
Private Sub CmdSaisieUserValider_Click()
If Me.TxtNUser.Text = "" Then MsgBox "Vous devez entrer le nom de l'utilisateur.": Me.TxtNUser.SetFocus: Exit Sub
If Me.TxtPUser.Text = "" Then MsgBox "Vous devez entrer le prénom de l'utilisateur.": Me.TxtPUser.SetFocus: Exit Sub
Userconverti = UCase(Me.TxtNUser.Text) & " " & UCase(Me.TxtPUser.Text)

Set c = Feuil2.Range("A:J").Find("*", , , , xlByRows, xlPrevious)
If Not c Is Nothing Then
ligne = c.Row + 1
Range("A" & ligne).End(xlUp).Offset(1, 0).Value = Userconverti
' Range("H" & ligne) = UCase(Me.TxtNUser.Text)
For Each ctrl In Me.Controls
If ctrl.Tag <> "" Then Feuil2.Range(ctrl.Tag & ligne) = ctrl.Value
Next
Unload Me
End If
End Sub

Ça y est nickel ! Je vais déjà me coucher moins bête ce soir 🙂
Maintenant l'histoire des Majuscule, Prénom et date
Quand j'ajoute cette ligne :
Feuil2.Range(ctrl.Tag & ligne) = IIf(Left(ctrl, 6) = "TxtDat" Or Left(ctrl, 6) = "TxtNai", CDate(ctrl.Value), ctrl.Value)
Ca me fait erreur de compilation For sans Next alors qu'il y a bien le Next en dessous.
 
Bonjour domeli
Bonjour le Fil ,le Forum
une autre vision ,présentation (non aboutie)
prenez soin de vous !
bonne journée
jean marie
edit : j'ai rajouter des données(Enfants)
 

Pièces jointes

  • Test_1.gif
    Test_1.gif
    77.4 KB · Affichages: 11
Dernière édition:
VB:
Private Sub CmdSaisieUserValider_Click()
    If Me.TxtNUser.Text = "" Then MsgBox "Vous devez entrer le nom de l'utilisateur.": Me.TxtNUser.SetFocus: Exit Sub
    If Me.TxtPUser.Text = "" Then MsgBox "Vous devez entrer le prénom de l'utilisateur.": Me.TxtPUser.SetFocus: Exit Sub
Userconverti = UCase(Me.TxtNUser.Text) & " " & UCase(Me.TxtPUser.Text)

Set c = Feuil2.Range("A:J").Find("*", , , , xlByRows, xlPrevious)
If Not c Is Nothing Then
    ligne = c.Row + 1
    Range("A" & ligne).End(xlUp).Offset(1, 0).Value = Userconverti
'    Range("H" & ligne) = UCase(Me.TxtNUser.Text)
    For Each ctrl In Me.Controls
        If ctrl.Tag <> "" Then
'        Feuil2.Range(ctrl.Tag & ligne) = ctrl.Value
        Feuil2.Range(ctrl.Tag & ligne) = IIf(Left(ctrl, 6) = "TxtDat" Or Left(ctrl, 6) = "TxtNai", CDate(ctrl.Value), ctrl.Value)
    End If
    Next
    Unload Me
End If
End Sub

Voilà désolé. Je viens de me faire reprendre de volée, normal. Toutes mes excuses.
Ca s'arrête à la colonne B (Matricule)
 
- 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

Retour