Formulaire personnalisé excel

Résolu/Fermé
aldéric76 Messages postés 303 Date d'inscription dimanche 6 janvier 2008 Statut Membre Dernière intervention 13 juillet 2024 - 22 janv. 2023 à 20:07
aldéric76 Messages postés 303 Date d'inscription dimanche 6 janvier 2008 Statut Membre Dernière intervention 13 juillet 2024 - 23 janv. 2023 à 17:17

Bonjour à tous,

Bonjour à tous,

Excel 2016

J'ai un tableau excel avec 2 feuilles, l'une nommée "SAISIE" et l'autre "EXTRACTION"
La feuille "saisie" sera masquée et seule la feuille "extraction" sera accessible

J'ai créé un formulaire personnalisé qui me permet de remplir le tableau de la feuille "saisie" (chaque saisie se place en dernière position)

Sur la feuille "extraction" j'ai un "extrait" de mon tableau complet qui reprend les entête ainsi que la dernière ligne saisie (me permet de voir quelle a été la dernière saisie)

1 er soucis, mon formulaire ne fonctionne que si je le lance depuis la feuille "extraction"
2 ème soucis, je n'arrive pas à remplir mon tableau "saisie" ET l'extrait de tableau en feuille "extraction"

Ci dessous mon code :

Option Explicit

Dim Ws As Worksheet


'Pour le bouton Nouveau contact

Private Sub CommandButton1_Click()

Dim L As Integer


 If MsgBox("Confirmez-vous l'insertion de cet évènement ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then
     L = Sheets("SAISIE").Range("d65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide

     Range("E" & L).Value = ComboBox1
     Range("D" & L).Value = TextBox1
     Range("F" & L).Value = TextBox3
     Range("G" & L).Value = TextBox4
     Range("H" & L).Value = TextBox5
     Range("I" & L).Value = TextBox6
     Range("J" & L).Value = TextBox7

 End If
 
End Sub


'Pour le bouton Quitter

Private Sub Fermer_Click()

   Unload Me

End Sub


Private Sub UserForm_Activate()
'contenu combobox1
Dim Ligne As Integer: Ligne = 2
While (ThisWorkbook.Worksheets("SAISIE").Cells(Ligne, 1).Value <> "")
ComboBox1.AddItem (ThisWorkbook.Worksheets("SAISIE").Cells(Ligne, 1).Value)
Ligne = Ligne + 1

Wend

End Sub


Private Sub UserForm_Click()

End Sub
 


 


Windows / Edge 109.0.1518.55

A voir également:

2 réponses

Le Pingou Messages postés 12152 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2024 1 447
Modifié le 22 janv. 2023 à 22:48

Bonjour,

Au passage pour le deuxième soucis, partie de code à modifier :

    L = Sheets("SAISIE").Range("d65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
    With Sheets("SAISIE")
     .Range("E" & L).Value = ComboBox1
     .Range("D" & L).Value = TextBox1
     .Range("F" & L).Value = TextBox3
     .Range("G" & L).Value = TextBox4
     .Range("H" & L).Value = TextBox5
     .Range("I" & L).Value = TextBox6
     .Range("J" & L).Value = TextBox7
    End With
 End If

Premier souci, vous dites :

La feuille "saisie" sera masquée et seule la feuille "extraction" sera accessible

Donc le bouton de commande pour ouvrir le formulaire est sur la feuille « extraction » l’autre étant masquée--- !


1
aldéric76 Messages postés 303 Date d'inscription dimanche 6 janvier 2008 Statut Membre Dernière intervention 13 juillet 2024 7
23 janv. 2023 à 17:17

Un gros merci Pingou, encore une fois tu me fais progresser

Fichier opérationnel :-)

0