Consultation des enregistrements et bouton modifier VBA

Résolu/Fermé
riricamm Messages postés 6 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 20 décembre 2016 - 18 déc. 2016 à 19:26
riricamm Messages postés 6 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 20 décembre 2016 - 19 déc. 2016 à 17:12
Bonjour à tous et à toutes!
Etant assez nul en programmation, j'ai pris pas mal de temps pour mettre en place un programme sous VBA, qui consiste à enregistrer des CV des candidats.
Mon problème sont les suivantes :
1- Je voudrais changer le code CV en TextBox au lieu de ComboBox. Puis enlever la saisie automatique.
2- Lorsque je fais une modification, je préfère arriver à accéder à ma feuille "Candidats" pour pouvoir sélectionner la ligne (entière) à modifier. Si je sélectionne la ligne, les données s'affichent sur ma formulaire. Je ferais la modification puis la valider.
3-Lorsque je clique sur le petit triangle de la zone de liste déroulante ComboBox3 "Situation matrimoniale", les détails ne 'affichent pas, sans supprimer un mot dans le ComboBox3.
Voilà! J'espères être sufffisamment claire sur mes besoins.

Merci de trouver ci-dessous le code.

Option Explicit
Dim Ws As Worksheet

' Choix des langues pratiquées
Private Sub CheckBox1_Change()
Select Case CheckBox1.Value
Case True: TextBox13 = "Français"
Case False: TextBox13 = ""
End Select
End Sub

Private Sub CheckBox2_Change()
Select Case CheckBox2.Value
Case True: TextBox14 = "Anglais"
Case False: TextBox14 = ""
End Select
End Sub

Private Sub CheckBox3_Change()
Select Case CheckBox3.Value
Case True: TextBox15 = "Malagasy"
Case False: TextBox15 = ""
End Select
End Sub

'Choix du Sexe
Private Sub OptionButton1_Click()
Select Case OptionButton1.Value
Case True: TextBox1 = "H"
End Select
End Sub
Private Sub OptionButton2_Click()
Select Case OptionButton2.Value
Case True: TextBox1 = "F"
End Select
End Sub

'Pour la liste civilité
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer

ComboBox2.ColumnCount = 1 'Pour la liste d?roulante Civilit?
ComboBox2.List() = Array("M.", "Mme", "Mlle")
Set Ws = Sheets("Candidats") 'Correspond au nom de votre onglet dans le fichier Excel
With Me.ComboBox1
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("A" & J)
Next J
End With
For I = 1 To 16
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub

'Pour la liste d?roulante Code client
Private Sub ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer

If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
ComboBox2 = Ws.Cells(Ligne, "A")
For I = 1 To 16
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 2)
Next I
End Sub

Private Sub ComboBox3_Change()
Dim J As Long
Dim I As Integer

ComboBox3.ColumnCount = 1 'Pour la liste d?roulante Situation Matrimoniale?
ComboBox3.List() = Array("Célibataire", "Marié(e)", "Divorcé(e)")
Set Ws = Sheets("Candidats") 'Correspond au nom de votre onglet dans le fichier Excel
With Me.ComboBox1
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("A" & J)
Next J
End With
For I = 1 To 16
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub

Private Sub CommandButton1_Click()
Static L As Integer
L = Sheets("Candidats").Range("q65536").End(xlUp).Row + 1
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.InitialFileName = "E:\CV\"
.Show
If .SelectedItems.Count = 1 Then TextBox16 = .SelectedItems(1)
ActiveSheet.Hyperlinks.Add Anchor:=Cells(L, "S"), Address:=TextBox16.Value, TextToDisplay:= _
Mid(TextBox16.Value, InStrRev(TextBox16.Value, "\") + 1)
End With
End Sub

'Pour le bouton Nouveau candidat
Private Sub CommandButton2_Click()
Dim L As Integer
If MsgBox("Insertion d'un nouveau candidat ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then
L = Sheets("Candidats").Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement ? la premi?re ligne de tableau non vide
Range("A" & L).Value = ComboBox1
Range("B" & L).Value = ComboBox2
Range("C" & L).Value = ComboBox3
Range("D" & L).Value = TextBox1
Range("E" & L).Value = TextBox2
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
Range("K" & L).Value = TextBox8
Range("L" & L).Value = TextBox9
Range("M" & L).Value = TextBox10
Range("N" & L).Value = TextBox11
Range("O" & L).Value = TextBox12
Range("P" & L).Value = TextBox13
Range("Q" & L).Value = TextBox14
Range("R" & L).Value = TextBox15
End If
End Sub

'Pour le bouton Modifier
Private Sub CommandButton3_Click()
Dim Ligne As Long
Dim I As Integer

If MsgBox("Voulez-vous modifier ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
Ws.Cells(Ligne, "A") = ComboBox1
For I = 1 To 15
If Me.Controls("TextBox" & I).Visible = True Then
Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
End If
Next I
End If
End Sub
'Pour le bouton Quitter
Private Sub CommandButton5_Click()
Unload Me
End Sub



Merci d'avance!!!
A voir également:

1 réponse

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
19 déc. 2016 à 09:36
Bonjour Riricamm, bonjour le forum,

Explications très claires ! Ne manque juste que le fichier qui va avec pour pouvoir t'aider efficacement. Le site ne permet pas de joindre directement une pièce jointe mais tu peux la déposer sur un autre site et nous donner le lien... Regarde par exemple : https://www.cjoint.com/
0
riricamm Messages postés 6 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 20 décembre 2016
Modifié par riricamm le 19/12/2016 à 15:40
Merci ThauTheme de m'avoir répondu,

En fait, j'ai déjà avancé, Combobox en Textbox, insertion de bouton modifier, liste déroulante activé.

Ce qui me reste à faire est :
- Lorsque je valide une nouvelle entrée je souhaite que les grilles de saisies sont vide.
- Après une midification je souhaite que les grilles de saisies sont vides pour pouvoir entrer des nouvelles données.

Voilà,

Merci de trouver ci-dessous le lien du fichier

https://www.cjoint.com/c/FLtoFW0PtGH
0
riricamm Messages postés 6 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 20 décembre 2016 > riricamm Messages postés 6 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 20 décembre 2016
19 déc. 2016 à 17:12
Merci ThauTheme j'ai trouvé la solution!
0