Besoin d'aide sur une listbox VBA

fb62840

XLDnaute Impliqué
Bonjour à toutes et à tous,

Je fais appel à vous car j'ai un souci avec des listbox présentes sur un formulaire

Le problème est le suivant.
Lorsque je bascule d'un onglet à l'autre et que je reviens sur un onglet dans lequel j'ai déjà saisi des données dans la listbox je peux à nouveau saisir des données dans les champs qui alimenteront la listbox mais mon problème c'est que ce nouvel ajout supprime la ligne existante alors qu'il faudrait que la ligne des données soit ajoutée sous la ligne présente.

En détail :

Le formulaire contient 4 onglets
Sur le 2nd deux champs numériques détermineront le nombre de lignes que devront contenir les listbox des onglets 3 et 4

Sur le 3ème onglet la listbox est complétée avec le code suivant :
Code:
Private Sub CBcumulsec_Click()
Dim Ind As Integer
  ' Ajout d'unenouvelle formation
IncrementFormation = IncrementFormation + 1
  ' Vérification que l'incrémentation n'est pas supérieure au nombre de formations à enregistrer
If IncrementFormation > Nbrformations Then
    MsgBox "Vous avez choisi de renseigner " & Nbrformations & " formation(s), vous ne pouvez pas en enregistrer " & IncrementFormation & "."
    Exit Sub
End If
If IncrementFormation = Nbrformations Then
With MultiPage1
Me.MultiPage1.Value = 3
End With
End If
  ' Sinon
Me.LB_synthese_formation.AddItem Me.TB_nom_formation
Me.LB_synthese_formation.List(Me.LB_synthese_formation.ListCount - 1, 1) = Me.CB_ville_formation
Me.LB_synthese_formation.List(Me.LB_synthese_formation.ListCount - 1, 2) = Me.CB_annee_formation
Me.LB_synthese_formation.List(Me.LB_synthese_formation.ListCount - 1, 3) = Me.CB_niveau
Me.LB_synthese_formation.List(Me.LB_synthese_formation.ListCount - 1, 4) = Me.TB_connaissances_acquises
For Ind = 3 To 4
Me.CB_annee_formation = ""
Me.TB_nom_formation = ""
Me.CB_ville_formation = ""
Me.CB_niveau = ""
Me.TB_connaissances_acquises = ""
Next
End Sub

Sur le 4ème onglet la listbox est complétée avec le code suivant
Code:
Private Sub CB_cumulmen_Click()
Dim Ind As Integer
  ' Ajout d'une nouvelle expérience
  If IncrementationExperience < Nbrexperiences Then
  IncrementationExperience = IncrementationExperience + 1
  End If
  ' Vérification que l'incrémentation n'est pas supérieure au nombre d'expériences à enregistrer
  If IncrementationExperience > Nbrexperiences Then
    MsgBox "Vous avez choisi de renseigner " & Nbrexperiences & " expérience(s), vous ne pouvez pas en enregistrer " & IncrementFormation & "."
    Exit Sub
  End If
  ' Sinon
  Me.LB_synthese_experience.AddItem Me.CB_annee
  Me.LB_synthese_experience.List(Me.LB_synthese_experience.ListCount - 1, 1) = TB_nom
  Me.LB_synthese_experience.List(Me.LB_synthese_experience.ListCount - 1, 2) = Me.CB_ville
  Me.LB_synthese_experience.List(Me.LB_synthese_experience.ListCount - 1, 3) = Me.TB_poste
  Me.LB_synthese_experience.List(Me.LB_synthese_experience.ListCount - 1, 4) = Me.TB_descriptif
  For Ind = 3 To 4
  Me.CB_annee = ""
  Me.TB_nom = ""
  Me.CB_ville = ""
  Me.TB_poste = ""
  Me.TB_descriptif = ""
  If Ind = 4 Then Me.TB_nom.SetFocus
  Next Ind
End Sub

Merci beaucoup pour votre aide
 

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 813
dernier inscrit
kaiyi