[RESOLU] : condition imbriquée

jecirbe

XLDnaute Junior
Bonjour à toutes et à tous, Mes meilleurs voeux à chacun pour cette nouvelle année.

Je viens demander de l'aide.
Dans un userform j'ai plusieurs textbox et combobox pour lesquelles je vérifie sous qu'un item est sélectionné.
Code:
If txtDate.Text = "" Then
    MsgBox "Veuillez renseigner une date de stage", vbExclamation, "Attention"
    txtDate.SetFocus
ElseIf CbBoxLieux.ListIndex = -1 Then
    MsgBox "Veuillez indiquer un lieu de stage", vbExclamation, "Attention"
   CbBoxLieux.SetFocus
ElseIf CbBoxpromos.ListIndex = -1 Then
    MsgBox "Veuillez indiquer quelle promotion est concernée", vbExclamation, "Attention"
    CbBoxpromos.SetFocus
ElseIf CbBoxthemes.ListIndex = -1 Then
    MsgBox "Veuillez indiquer le thème du cours", vbExclamation, "Attention"
    CbBoxthemes.SetFocus
ElseIf cbBoxconf.ListIndex = -1 Then
    'définir la valeur comme = " à définir"
si les conditions sont remplis alors
Code:
Else
    ActiveSheet.Cells(numLignevide, 1) = txtDate.Value
    ActiveSheet.Cells(numLignevide, 3) = CbBoxLieux.Value
    ActiveSheet.Cells(numLignevide, 2) = cbBoxconf.Value
    ActiveSheet.Cells(numLignevide, 4) = CbBoxpromos.Value
    ActiveSheet.Cells(numLignevide, 5) = CbBoxthemes.Value
Ceci est "l'ancien" code c'est à dire lorsque je souhaitais qu'un item soit sélectionné dans la combobox cbBoxconf. cependant à présent je voudrais que si rien n'est sélectionné dans la combobox cbBoxconf la valeur enregistrée dans la cellule soit :
valeur=" à définir"
pour l'instant les essais que j'ai réaliser mont permis soit d'afficher "à définir" dans la combobox cbBoxconf (je ne le veux pas) ou à enregistrer "à définir" dans la cellule du tableau mais alors rien ne s'enregistre dans les autres cellules.
Merci d'avance
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : condition imbriquée

Bonjour Jecirbele forum
si j'ai compris ta demande
Bonne Année 2012
a+
papou:eek:

PHP:
If txtDate.Text = "" Then
    MsgBox "Veuillez renseigner une date de stage", vbExclamation, "Attention"
    txtDate.SetFocus
ElseIf CbBoxLieux.ListIndex = -1 Then
    MsgBox "Veuillez indiquer un lieu de stage", vbExclamation, "Attention"
   CbBoxLieux.SetFocus
ElseIf CbBoxpromos.ListIndex = -1 Then
    MsgBox "Veuillez indiquer quelle promotion est concernée", vbExclamation, "Attention"
    CbBoxpromos.SetFocus
ElseIf CbBoxthemes.ListIndex = -1 Then
    MsgBox "Veuillez indiquer le thème du cours", vbExclamation, "Attention"
    CbBoxthemes.SetFocus
ElseIf cbBoxconf.ListIndex = -1 Then cbBoxconf=" à définir"
     'définir la valeur comme = " à définir"

EDIT: Bonjour JC et Bonne Année 2012, tu sais ou elle est la balise de code vba ???? ou alors il faut toujours [highlight=vba etcetc???
 
Dernière édition:

jecirbe

XLDnaute Junior
Re : condition imbriquée

voici le fichier demandé

Merci déjà de votre temps de réactivité digne de pilotes de F1 ;-)
 

Pièces jointes

  • Jecirbe.xlsm
    47.1 KB · Affichages: 50
  • Jecirbe.xlsm
    47.1 KB · Affichages: 96
  • Jecirbe.xlsm
    47.1 KB · Affichages: 51

Theze

XLDnaute Occasionnel
Re : condition imbriquée

Bonjour,

Je verrai ceci plutôt comme ça :
Code:
Sub Test()

    If txtDate.Text = "" Then
         MsgBox "Veuillez renseigner une date de stage", vbExclamation, "Attention"
         txtDate.SetFocus
         Exit Sub
    End If
    
    If CbBoxLieux.ListIndex = -1 Then
         MsgBox "Veuillez indiquer un lieu de stage", vbExclamation, "Attention"
        CbBoxLieux.SetFocus
         Exit Sub
    End If
    
    If CbBoxpromos.ListIndex = -1 Then
         MsgBox "Veuillez indiquer quelle promotion est concernée", vbExclamation, "Attention"
         CbBoxpromos.SetFocus
         Exit Sub
    End If
    
    If CbBoxthemes.ListIndex = -1 Then
         MsgBox "Veuillez indiquer le thème du cours", vbExclamation, "Attention"
         CbBoxthemes.SetFocus
         Exit Sub
    End If
    
    If cbBoxconf.ListIndex = -1 Then
         'définir la valeur comme = " à définir"
         cbBoxconf.Text = "à définir"
    End If
    
    'une fois tous les tests réalisés (tous les champs renseignés)
    'alors, on peut arriver jusqu'ici
    With ActiveSheet

        .Cells(numLignevide, 1) = txtDate.Value
        .Cells(numLignevide, 3) = CbBoxLieux.Value
        .Cells(numLignevide, 2) = cbBoxconf.Value
        .Cells(numLignevide, 4) = CbBoxpromos.Value
        .Cells(numLignevide, 5) = CbBoxthemes.Value

    End With

End Sub

Maintenant, il est possible d'initialiser le texte du combo (à définir) au chargement de la Form, à voir.

Hervé.
 

JNP

XLDnaute Barbatruc
Re : condition imbriquée

Bonjour le fil :),
Pourquoi pas tout simplement
Code:
If txtDate.Text = "" Then
    MsgBox "Veuillez renseigner une date de stage", vbExclamation, "Attention"
    txtDate.SetFocus
ElseIf CbBoxLieux.ListIndex = -1 Then
    MsgBox "Veuillez indiquer un lieu de stage", vbExclamation, "Attention"
   CbBoxLieux.SetFocus
ElseIf CbBoxpromos.ListIndex = -1 Then
    MsgBox "Veuillez indiquer quelle promotion est concernée", vbExclamation, "Attention"
    CbBoxpromos.SetFocus
ElseIf CbBoxthemes.ListIndex = -1 Then
    MsgBox "Veuillez indiquer le thème du cours", vbExclamation, "Attention"
    CbBoxthemes.SetFocus
Else
    ActiveSheet.Cells(numLignevide, 1) = txtDate.Value
    ActiveSheet.Cells(numLignevide, 3) = CbBoxLieux.Value
    ActiveSheet.Cells(numLignevide, 2) = IIf(cbBoxconf.ListIndex = -1, "A définir", cbBoxconf.Value)
    ActiveSheet.Cells(numLignevide, 4) = CbBoxpromos.Value
    ActiveSheet.Cells(numLignevide, 5) = CbBoxthemes.Value
End If
Bonne suite :cool:
 

Discussions similaires

Réponses
6
Affichages
668

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz