Si combox box vide ne pas récupérer la velaur
Bonsoir à tous,
J'ai présentement un formulaire. Les valeurs de ce formulaire sont récupérées et copier sur une feuille du classeur.
J'ai en particulier deux combobox : un CbxNomExp et un CbxNomExp1. Lorsque le CbxNomExp à une valeur les valeurs du formulaire sont transférées dans une autre feuille du classeur. Si il existe une valeur à CbxNomExp1 même chose. Parcontre lorsque CbxExp1 est vide je ne souhaite aucun ajout de ligne à cette même feuille du classeur. Présentement lorsque CbxNomExp à une valeur le tout se transfère, mais si le CbxNomExp1 une ligne s'ajoute même si le combobox est vide. J'ai tenté d'essayer avec des if et else mais une ligne se copie quand même
Voici mon code:
Assigne.Select
'Onglet Assignation
DetailProd.Select
'Insérer une nouvelle ligne
FinalRow = DetailProd.Cells(Rows.Count, 1).End(xlUp).Row
XX = FinalRow + 1
DetailProd.Cells(XX, 1).Select
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
'renvoie les valeur
DetailProd.Cells(XX, 1).Value = Assignation.CbxNomExp
DetailProd.Cells(XX, 2).Value = FormatDateTime((Assignation.Dateperte), vbGeneralDate)
DetailProd.Cells(XX, 3).Value = FormatDateTime((Assignation.DateRecep), vbGeneralDate)
DetailProd.Cells(XX, 4).Value = FormatDateTime((Assignation.DateAssigne), vbGeneralDate)
DetailProd.Cells(XX, 5).Value = Round(DetailProd.Cells(XX, 4).Value - DetailProd.Cells(XX, 3).Value)
DetailProd.Cells(XX, 6).Value = CByte(Assignation.CbxSem2)
DetailProd.Cells(XX, 7).Value = Assignation.TxtDossier
DetailProd.Cells(XX, 8).Value = Assignation.CbxNature
DetailProd.Cells(XX, 12).Value = Assignation.Cbxroleexpert
DetailProd.Cells(XX, 13).Value = Assignation.RegionCie
DetailProd.Cells(XX, 15).Value = Assignation.detectiontool
DetailProd.Cells(XX, 14).Value = Assignation.ComboBox1
If Assignation.detectiontool.Value = True Then DetailProd.Cells(XX, 15).Value = " X"
If Assignation.detectiontool.Value = False Then DetailProd.Cells(XX, 15).Value = ""
If Assignation.CbxTypeAssigne.ListIndex = 0 Then DetailProd.Cells(XX, 9).Value = 1 ' "Consultation"
If Assignation.CbxTypeAssigne.ListIndex = 1 Then DetailProd.Cells(XX, 10).Value = 1 '"Analyse"
If Assignation.CbxTypeAssigne.ListIndex = 2 Then DetailProd.Cells(XX, 11).Value = 1 ' "Enquête
FinalRow = DetailProd.Cells(Rows.Count, 1).End(xlUp).Row
XX = FinalRow + 1
DetailProd.Cells(XX, 1).Select
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
DetailProd.Cells(XX, 1).Value = Assignation.CbxNomExp1
DetailProd.Cells(XX, 2).Value = FormatDateTime((Assignation.Dateperte), vbGeneralDate)
DetailProd.Cells(XX, 3).Value = FormatDateTime((Assignation.DateRecep), vbGeneralDate)
DetailProd.Cells(XX, 4).Value = FormatDateTime((Assignation.DateAssigne), vbGeneralDate)
DetailProd.Cells(XX, 5).Value = Round(DetailProd.Cells(XX, 4).Value - DetailProd.Cells(XX, 3).Value)
DetailProd.Cells(XX, 6).Value = CByte(Assignation.CbxSem2)
DetailProd.Cells(XX, 7).Value = Assignation.TxtDossier
DetailProd.Cells(XX, 8).Value = Assignation.CbxNature
DetailProd.Cells(XX, 12).Value = Assignation.Cbxroleexpert1
DetailProd.Cells(XX, 13).Value = Assignation.RegionCie
DetailProd.Cells(XX, 14).Value = Assignation.ComboBox1
If Assignation.CbxTypeAssigne.ListIndex = 0 Then DetailProd.Cells(XX, 9).Value = 1 ' "Consultation"
If Assignation.CbxTypeAssigne.ListIndex = 1 Then DetailProd.Cells(XX, 10).Value = 1 '"Analyse"
If Assignation.CbxTypeAssigne.ListIndex = 2 Then DetailProd.Cells(XX, 11).Value = 1 ' "Enquête
J'espère que le tout est clair.
Merci à l'avance
Bonjour,
En tout début du code tu mets cette ligne :
If CbxExp1.Text = "" Then Exit Sub