Consultation des enregistrements et bouton modifier VBA
Résolu
riricamm
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
riricamm Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
riricamm Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
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!!!
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:
- Consultation des enregistrements et bouton modifier VBA
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Modifier story facebook - Guide
- Modifier extension fichier - Guide
- Bouton reinitialisation pc - Guide
1 réponse
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/
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/
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