Problème de Remplissage des comboBox

Pélican34

XLDnaute Nouveau
Bonjour,
Si je ne rempli pas tous les combobox du Userform que j'ai créé, le programme buggue.
(Les combobox fonctionnent très bien)
Comment faire pour éviter celà?
Merci de votre aide
Voici le code

Private Sub CmdEnregistrer_Click()
If Me.TextNOM.Value = '' Then Exit Sub

If Me.TextDate.Value = '' Then
MsgBox ('Indiquer la date !')
Exit Sub
Else
MaDate = CDate(TextDate.Value)
End If

If Me.TextPrénom.Value = '' Then
MsgBox ('Indiquer le prénom ?')
Exit Sub

End If

If Me.TextAdresse1.Value = '' Then
MsgBox ('Indiquer l'adresse')
Exit Sub
End If

If Me.TextCodePostal.Value = '' Then
MsgBox ('Indiquer le code postal')
Exit Sub
End If

If Me.TextVille.Value = '' Then
MsgBox ('Indiquer la Ville')
Exit Sub
End If


Dim num
Dim lesMois, leMois, leMois1, leMois2, leMois3, leMois4, leMois5, leMois6
Dim p, q, o, ctrl, s
Dim statut, situation, permis, fonction, permis_poids_lourds



For Each p In UsfNouveau_Renseignement.FrSituation.Controls
If p.Value = True Then situation = Trim(p.Caption)
Next p

For Each q In UsfNouveau_Renseignement.FrPermis.Controls
If q.Value = True Then permis = permis & ' ' & Trim(q.Caption)
Next q

For Each o In UsfNouveau_Renseignement.FrFonction.Controls
If o.Value = True Then fonction = fonction & ' ' & Trim(o.Caption)
Next o

For Each ctrl In UsfNouveau_Renseignement.FrStatut.Controls
If ctrl.Value = True Then statut = statut & ' ' & Trim(ctrl.Caption)
Next ctrl

For Each s In UsfNouveau_Renseignement.FrSpécialités_PL.Controls
If s.Value = True Then permis_poids_lourds = permis_poids_lourds & ' ' & Trim(s.Caption)
Next s

'inscription des données récupérées du formulaire validé dans la feuille excel
'sélection de la ligne sur laquelle écrire (la première vide)
num = Sheets('FeuilPersonnel').Range('A65536').End(xlUp).Row + 1 'on part du bas de la colonne, on cherche
'la première cellule non vide avec end(xlup), on renvoie son N° avec row et on ajoute 1 pour avoir le numéro de la
'ligne d'en dessous

lesMois = Array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Sptembre', 'Octobre', 'Novembre', 'Décembre')
leMois = Application.Match(ComboBox4, lesMois, 0)
leMois1 = Application.Match(ComboBox7, lesMois, 0)
leMois2 = Application.Match(ComboBox10, lesMois, 0)
leMois3 = Application.Match(ComboBox13, lesMois, 0)
leMois4 = Application.Match(ComboBox16, lesMois, 0)
leMois5 = Application.Match(ComboBox19, lesMois, 0)
leMois6 = Application.Match(ComboBox22, lesMois, 0)
Sheets('FeuilPersonnel').Activate
Range('A' & num).Value = CDate(TextDate.Value)
Range('B' & num).Value = TextNOM.Value
Range('C' & num).Value = TextPrénom.Value
Range('D' & num).Value = TextAdresse1.Value
Range('E' & num).Value = TextAdresse2.Value
Range('F' & num).Value = TextCodePostal.Value
Range('G' & num).Value = TextVille.Value
Range('H' & num).Value = TextFixe.Value
Range('I' & num).Value = TextPortable.Value
Range('J' & num).Value = TextEmail.Value
Range('K' & num).Value = TextNiveau_scolaire1.Value
Range('L' & num).Value = TextNiveau_scolaire2.Value
Range('M' & num).Value = TextNSécu.Value
Range('N' & num).Value = ComboBoxGS.Value
Range('O' & num).Value = TextRenseignements_complémentaires.Value
Range('P' & num).Value = ComboBoxGrade.Value
Range('Q' & num).Value = DateSerial(ComboBox3, leMois, ComboBox5)
Range('R' & num).Value = DateSerial(ComboBox6, leMois1, ComboBox8)
Range('S' & num).Value = DateSerial(ComboBox9, leMois2, ComboBox11)
Range('T' & num).Value = TextN_AFPS.Value
Range('U' & num).Value = DateSerial(ComboBox12, leMois3, ComboBox14)
Range('V' & num).Value = TextN_CFAPSE.Value
Range('W' & num).Value = DateSerial(ComboBox15, leMois4, ComboBox17)
Range('X' & num).Value = TextN_CFAPSR.Value
Range('Y' & num).Value = DateSerial(ComboBox18, leMois5, ComboBox20)
Range('Z' & num).Value = TextCOD.Value
Range('AA' & num).Value = TextFDF.Value
Range('AB' & num).Value = TextRCH.Value
Range('AC' & num).Value = TextRAD.Value
Range('AD' & num).Value = TextSAV.Value
Range('AE' & num).Value = TextSAL.Value
Range('AF' & num).Value = TextIMP.Value
Range('AG' & num).Value = TextISS.Value
Range('AH' & num).Value = TextEPS.Value
Range('AI' & num).Value = TextPRV.Value
Range('AJ' & num).Value = TextPRS.Value
Range('AK' & num).Value = TextFOR.Value
Range('AL' & num).Value = TextCAN.Value
Range('AM' & num).Value = TextCYN.Value
Range('AN' & num).Value = TextSDE.Value
Range('AO' & num).Value = TextSMO.Value
Range('AP' & num).Value = TextTRS.Value
Range('AQ' & num).Value = TextN_Permis_PL.Value
Range('AR' & num).Value = DateSerial(ComboBox21, leMois6, ComboBox23)
Range('AS' & num).Value = statut
Range('AT' & num).Value = situation
Range('AU' & num).Value = permis
Range('AV' & num).Value = fonction
Range('AW' & num).Value = permis_poids_lourds

Unload UsfNouveau_Renseignement

Message édité par: Pélican34, à: 06/06/2006 15:21

Message édité par: Pélican34, à: 06/06/2006 16:00
 

Pélican34

XLDnaute Nouveau
De même, le code suivant me renvoie l'erreur 381 index non définit
Comment faire?

Private Sub UserForm_Initialize()
Dim Plage As Range

With Worksheets('FeuilVéhicules')
TextDate.Value = Format(Now(), 'dd/mmm/yyyy') 'met sous format français la date du jour dans le textbox date.
Set véhicule = .Range('A2')
Set Plage = .Range(véhicule, .Range('A65536').End(xlUp))
Set tableau = Plage.Resize(, 7)
End With
ComboBoxVéhicule.List = Plage.Value
End Sub


Option Explicit

Dim véhicule As Range, tableau As Range



Private Sub ComboBoxVéhicule_Change()
Dim Lgn&
Lgn = ComboBoxVéhicule.ListIndex + 1

With tableau
TextDate.Value = .Cells(Lgn, 2)
Définition.Text = .Cells(Lgn, 3)

NbrePersonne.Value = .Cells(Lgn, 4)
Acquisition.Value = .Cells(Lgn, 5)
CT.Value = .Cells(Lgn, 6)
Immatriculation.Value = .Cells(Lgn, 7)


End With
End Sub



Private Sub CommandButton2_Click()

Dim Lgn&

Sheets('FeuilVéhicules').Select
Range('A2').Select
Unload Me

Lgn = ComboBoxVéhicule.ListIndex + 1
If Lgn = 0 Then Exit Sub

With tableau
.Cells(Lgn, 2) = TextDate
.Cells(Lgn, 3) = Définition
.Cells(Lgn, 4) = NbrePersonne
.Cells(Lgn, 5) = Acquisition
.Cells(Lgn, 6) = CT
.Cells(Lgn, 7) = Immatriculation

End With
End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 655
Messages
2 111 604
Membres
111 217
dernier inscrit
aladinkabeya2