XL 2010 Modification/supression avec un formulaire de saisie

Appo1985

XLDnaute Occasionnel
Bonjour à tous.

J'aimerais pouvoir modifier les 5 notes des élèves et supprimer des élèves dans le tableau qui se trouve sur la feuille note à l'aide du formulaire.

Dans le formulaire le nom et le prénom de chaque élève est obtenu grâce à la formule rechercheV à partir du numéro matricule.

Merci d'avance.
 

Pièces jointes

  • notes eleves.xlsm
    15.9 KB · Affichages: 23
Solution
Exact, sait bien je voie que tu testes,
Une modif sous le bouton [Modifier Enregistrer]
lig = Application.Match(Val(ComboBox1.Value), .[B:B], 0)
au lieu de
lig = Application.Match(ComboBox1.Value, .[B:B], 0)
une boulette de ma part
Bruno
VB:
Private Sub note1Enregistrer_Click()
onglet = Array("notet1", "notet2", "notet3")
With Sheets(onglet(ComboBox2.ListIndex))
lig = Application.Match(Val(ComboBox1.Value), .[B:B], 0)
If Not IsNumeric(lig) Then lig = Application.CountA(.[B:B]) + 4
.Cells(lig, 2) = Val(ComboBox1.Value)
.Cells(lig, 3) = lblsexe: .Cells(lig, 4) = lblnom: .Cells(lig, 5) = lblprenom
For k = 1 To 12: .Cells(lig, k + 5) = Controls("TextBox" & k): Next
End With
End Sub

youky(BJ)

XLDnaute Barbatruc
Bonsoir ChTi160,
C'est sur que l'on peut réduire le nombre d'onglets.
Idem pour les userform par trimestre 1 seul suffit soit 1 multipage ou un combobox qui indique le trimestre.
Mais notre ami Appo1985 découvre aussi VBA alors faut y aller doucement.
En tout cas chapeau pour avoir fait ce beau début de code.(même pompé de ci de là)
Nous répondrons à ces demandes au fur et à mesure de l'avancement des codes ou demandes.
Appo reviens ici si d'autres demandes.
Je viens de remettre le fichier avec en plus un label qui indique le +grand matricule +1
cela peut servir
Bruno
 

Pièces jointes

  • nouveau (1).xlsm
    72.7 KB · Affichages: 5

Appo1985

XLDnaute Occasionnel
Bonsoir Appo1985
Bonsoir Bruno
je viens de regarder le beau Travail de Bruno et je me suis demandé : "Pourquoi Trois Feuilles"?
1° Identité
2° listefilles
3° listegarcons
Alors que la Seule feuille "Identité" peut faire le travail ! Lol
Bonne continuation
jean marie
Bonsoir. @ChTi160
En fait les feuilles supplémentaires viennent du fichier source. Ces feuilles devraient servir à filtrer la liste de garçons et celle des filles. J'avais voulu faire ce filtre à l'aide d'un listbox mais je n'ai aucune idée de comment ça se fait.
 

Appo1985

XLDnaute Occasionnel
Bonsoir ChTi160,
C'est sur que l'on peut réduire le nombre d'onglets.
Idem pour les userform par trimestre 1 seul suffit soit 1 multipage ou un combobox qui indique le trimestre.
Mais notre ami Appo1985 découvre aussi VBA alors faut y aller doucement.
En tout cas chapeau pour avoir fait ce beau début de code.(même pompé de ci de là)
Nous répondrons à ces demandes au fur et à mesure de l'avancement des codes ou demandes.
Appo reviens ici si d'autres demandes.
Je viens de remettre le fichier avec en plus un label qui indique le +grand matricule +1
cela peut servir
Bruno
Bonjour à tous.
Vraiment je n'ai pas pu progresser avec mon classeur.
J'avais voulu coder le userform "ufnote1" pour modifier les notes mais ce code formate mon tableau initial " tidentite" de la feuille "identité".
Au niveau du "ufnote1" il ya 3 label (lblsexe, lblnom, lblprenom). Je voulais qu'en choisissant le matricule dans le combobox1, que le nom s'affiche dans le lblnom le prénom dans le lblprenom et le sexe dans le lblsexe en se référant au tableau qui se trouve sur la feuille identite.
Puis quand cliquant sur le commanbuton"Enregistrer/modifier" que ces données ainsi que les données des Textbox( les notes) puissent être enregistrées dans le tableau qui se trouve sur la feuille"note1" c'est à dire de la colonne B à la colonne Q.
Aussi j'ai un problème avec le module3 qui ne donne pas. Merci. J'ai encore besoin de votre soutien.
 

Pièces jointes

  • nouveau.xlsm
    71.8 KB · Affichages: 2

youky(BJ)

XLDnaute Barbatruc
Salut bien,
Je pense que je satisfais ton besoin.
J'ai mis un combobox en plus mais plus que 1 seul user pour les notes.
Je ne commente guère mes macros si besoin de comprendre dit ce que tu comprends pas.
Bruno
 

Pièces jointes

  • nouveau (2).xlsm
    63.4 KB · Affichages: 2

Appo1985

XLDnaute Occasionnel
Salut bien,
Je pense que je satisfais ton besoin.
J'ai mis un combobox en plus mais plus que 1 seul user pour les notes.
Je ne commente guère mes macros si besoin de comprendre dit ce que tu comprends pas.
Bruno
Bonsoir @youky(BJ). Bonsoir à tous.
Merci d'avoir pour votre réponse à ma préoccupation. Je suis très content.

Il ya un problème avec la modification car au lieu de modifier et enregistrer sur la même ligne ça ajoute une ligne. Donc on se retrouve pour le même élève avec plusieurs notes au même trimestre. Merci.
 

youky(BJ)

XLDnaute Barbatruc
Exact, sait bien je voie que tu testes,
Une modif sous le bouton [Modifier Enregistrer]
lig = Application.Match(Val(ComboBox1.Value), .[B:B], 0)
au lieu de
lig = Application.Match(ComboBox1.Value, .[B:B], 0)
une boulette de ma part
Bruno
VB:
Private Sub note1Enregistrer_Click()
onglet = Array("notet1", "notet2", "notet3")
With Sheets(onglet(ComboBox2.ListIndex))
lig = Application.Match(Val(ComboBox1.Value), .[B:B], 0)
If Not IsNumeric(lig) Then lig = Application.CountA(.[B:B]) + 4
.Cells(lig, 2) = Val(ComboBox1.Value)
.Cells(lig, 3) = lblsexe: .Cells(lig, 4) = lblnom: .Cells(lig, 5) = lblprenom
For k = 1 To 12: .Cells(lig, k + 5) = Controls("TextBox" & k): Next
End With
End Sub
 

Pièces jointes

  • nouveau (2).xlsm
    63.5 KB · Affichages: 10

Appo1985

XLDnaute Occasionnel
Exact, sait bien je voie que tu testes,
Une modif sous le bouton [Modifier Enregistrer]
lig = Application.Match(Val(ComboBox1.Value), .[B:B], 0)
au lieu de
lig = Application.Match(ComboBox1.Value, .[B:B], 0)
une boulette de ma part
Bruno
VB:
Private Sub note1Enregistrer_Click()
onglet = Array("notet1", "notet2", "notet3")
With Sheets(onglet(ComboBox2.ListIndex))
lig = Application.Match(Val(ComboBox1.Value), .[B:B], 0)
If Not IsNumeric(lig) Then lig = Application.CountA(.[B:B]) + 4
.Cells(lig, 2) = Val(ComboBox1.Value)
.Cells(lig, 3) = lblsexe: .Cells(lig, 4) = lblnom: .Cells(lig, 5) = lblprenom
For k = 1 To 12: .Cells(lig, k + 5) = Controls("TextBox" & k): Next
End With
End Sub
Merci beaucoup ça marche bien. Excellente soirée !
 

Discussions similaires

Statistiques des forums

Discussions
311 730
Messages
2 081 981
Membres
101 855
dernier inscrit
alexis345