XL 2016 saisie formulaire Excel

youpi457032

XLDnaute Occasionnel
Bonjour,
Je suis novice sous VBA excel. J'arrive à manipuler certaines macros, mais pas toutes, et surtout pas toujours correctement.
J'envisage de restructurer une BDD qui est alimentée par un formulaire en ligne, puis exportée sous excel.
A partir de cette base de donnée j'ai créé un formulaire (sans macro, vierge). Je souhaiterais que ce formulaire me permette de consulter ma BDD, la modifier, ajouter un élève, supprimer une ligne si nécessaire, et bien évidement une ligne de code pour fermer cette base via un bouton. En clair je structure ma feuille ( dans l'exemple Feuille 1, pour qu'elle colle précisément à mon formulaire.
En Feuille critère je référencerai tous mes groupes de danse ( ou cours, c'est la même chose ). Est-ce possible que dans mes Box Cours 1 à 6 en formulaire, je puisse à la fois récupérer de la BDD le cours asssocié et en même temps bénéficier d'une liste déroulante si je désire le modifier. Pourquoi une liste déroulante ? pour éviter les erreurs de saisies qui me seraient préjudiciable dans la fonction Filtrage.

Comme je suis assez nul en VBA ( il faut appeler un chat un chat ! même si je prends plaisir à progresser sur ce forum ! )quelqu'un pourrait t-il se pencher sur le problème ? Je joins le fichier. Je reprécise, l'idée c'est d'alimenter, modifier la BDD en fonction du formulaire créé.
Je vous remercie par avance !
Ah j'allais oublier ! pendant qu'on y est ! Vous remarquerez dans Tableau de Bord, toute une série de segment dont je me sers pour filtrer mes groupe de danse... c'est pas très pratique ! Si quelqu'un avait une idée de génie pour que dans ma nouvelle base je puisse filtrer par cours ( plusieurs cours en même temps ; style par case à cocher ), ca me sert à contacter tous mes danseurs selon les groupes auxquels il appartiennent. Merci ! :)
 

Pièces jointes

  • PONT DE VAUX - INSCRIPTION SAISON 2018 -2019 qui fonctionne - Copie.xlsm
    105.9 KB · Affichages: 22

dg62

XLDnaute Barbatruc
Bonjour Paritec, Youpi457032, le forum
Je me suis permis de rajouter un Else End if dans ton code sinon une ligne vide était enregistrée quand il y avait tentative d'enregistrer un formulaire vide. Cordialement
VB:
Private Sub Bt1_Click()
    Dim lig&, i&
    If T1 = "" Or T2 = "" Then
        MsgBox "Vous devez au minimum remplir le nom et le prénom pour pouvoir enregistrer un élève!!", vbCritical, "Manque de donnée"
    Else
        With Feuil1
            If T1.ListIndex <> -1 Then
                lig = T1.ListIndex + 2
                    For i = 1 To 29
                        .Cells(lig, i) = Controls("T" & i)
                    Next i
            Else
                lig = .Range("A" & Rows.Count).End(3).Row + 1
                For i = 1 To 29
                    .Cells(lig, i) = Controls("T" & i)
                Next i
            End If
        End With
    End If
    Bt2_Click
End Sub
 

Paritec

XLDnaute Barbatruc
Bonjour Youpi Dg62 le forum
oui tu as raison, il manquait un truc, donc, j'ai donc supprimé le ""else""
à savoir que je n'ai pas peaufiné le fichier, car je ne sais même pas si il va plaire à Youpi
donc en attendant son retour c'est un bon début !!!!
je n'ai pas non plus pour le moment tenu compte des formats de cellules
j'attends donc le retour de youpi
a+
Papou :)
 

Pièces jointes

  • Youpi457032 V2.xlsm
    38.2 KB · Affichages: 18

youpi457032

XLDnaute Occasionnel
Bonjour, un grand merci !
Je ne m'attendais pas à un retour aussi rapide et efficace ... c'est bluffant !
Du coup pour que ce soit vraiment parfait il me reste une boite de dialogue filtrage à mettre en place.
C'est une grosse association, avec plusieurs centaines d'élèves. Chaque élève est inscrit dans un ou plusieurs cours de danse (cours 1 à 6 de la feuille 1). On dispense environ une trentaine de cours différents. L'idée ce serait de filtrer la feuille de 1 à X cours ( exemple case à cocher cours 1, cours 2, cours 36....etc) pour regrouper tous les élèves qui ont choisis le ou les mêmes cours ( selon les critères de sélection que j’opérerai). Une fois filtré je n'ai plus qu'à les contacter par mail. J'ai déjà la macro mail ( et sans doublon :) , ce qui me manque c'est la solution efficace en VBA pour filtrer en une seule passe selon mes critères. Une idée peut être ?
 

youpi457032

XLDnaute Occasionnel
oki, je viens de voir l'idée elle est excellente, et rejoins ce que je veux faire.
J'envoie mon fichier avec mon userform tri de la base pour vous donner un aperçu du Visuel désiré ! le même système de filtre, mais avec un visuel case à cocher dans le userform, avec un effet bascule dans la base PDV, via le bouton filtrer. Je sélectionne les cours par case à cocher et hop ca filtre ma base PDV pour n'afficher que les cours sélectionnés ! C'est important pour moi que les lignes concernés dans la base PDV soient toujours visible car je me sers des lignes visibles après filtre pour récupérer les champs mail qui nourrissent ma macro mailing global.
je vous joins un fichier additionnel autre filtre que j'ai trouvé. L'idée de la bascule me paraît être ce que je veux. C'est juste que je souhaite le visuel en userform !
Merci !!
 

Pièces jointes

  • Youpi457032 V2 - vierge.xlsm
    101 KB · Affichages: 24
  • Autre Filtre (1).xlsm
    22.4 KB · Affichages: 18

Paritec

XLDnaute Barbatruc
Bonjour Youpi457032 le forum
bon bah si tu préfères tu as ton filtre, tu le mets dans ton fichier
Pour ton information ce ne sont pas des cases à cocher, mais des fausses cases réalisées avec les caractères Wingding
a+
Papou :)
 

Discussions similaires

Réponses
21
Affichages
1 K
Réponses
17
Affichages
596

Statistiques des forums

Discussions
312 103
Messages
2 085 310
Membres
102 859
dernier inscrit
Diallokass