problème sur listbox

S

sylvain

Guest
bonjour à tous,

je souhaiterais mettre un petit message lorsque que l'on oublie de sélectionner le fichier dans une listbox. J'ai beau essayer de tourner le code vba dans tous les sens pas moyen. merci du conseil

sylvain

voici le code que j'ai essayé d'adapter :

Private Sub CommandButton1_Click()
Dim f As String
Dim i As Integer


For i = 0 To ListBox1.ListCount - 1

If ListBox1.Selected(i) = True Then

Else: MsgBox ('Veuillez choisir un éleveur avant de valider!')

End If
Next i
f = ListBox1.List(i)
p = 'c:\\simoporc\\sauvegarde\\'
'f = 'sauvegarde.xls'

s = 'bdd'
u = 'bdd2'

With UserForm1.ProgressBar1
.Visible = True
.Min = 0
.Max = 8

Application.ScreenUpdating = False

Sheets('bdd').Activate

For r = 5 To 11
For c = 3 To 256
a = Cells(r, c).Address
Cells(r, c) = RecupValeur(p, f, s, a)
Next c
Next r
Application.ScreenUpdating = True

Sheets('menu').Activate


.Value = 4
DoEvents
End With

With UserForm1.ProgressBar1
.Visible = True
.Min = 0
.Max = 8

Application.ScreenUpdating = False

Sheets('bdd2').Activate

For r = 5 To 11
For c = 3 To 256
a = Cells(r, c).Address
Cells(r, c) = RecupValeur(p, f, u, a)
Next c
Next r

Application.ScreenUpdating = True

Sheets('menu').Activate

.Value = 8
DoEvents
End With

Unload Me

MsgBox ('L'opération s'est terminée avec succès')



End Sub
 
S

sylvain

Guest
rebonjour hervé,

ton code marche bien à l'exeption de ListBox1.ListIndex = 0 que j'ai remplacé par ListBox1.Selected(i) sinon impécable le exit sub je n'y avait pas pensé à celui là

encore merci de ton aide

sylvain
 

myDearFriend!

XLDnaute Barbatruc
Bonjour Sylvain, Hervé,

Heu... sauf erreur de ma part et pour en revenir à ce qu'Hervé voulait te dire Sylvain, on peut effectivement remplacer :
For i = 0 To ListBox1.ListCount - 1

If ListBox1.Selected(i) = True Then

Else: MsgBox ('Veuillez choisir un éleveur avant de valider!')

End If
Next
i
par :
If ListBox1.ListIndex = -1 Then
      MsgBox 'merci de sélectionner un item.'
      Exit Sub ' si tu veux arreter le déroulement de la macro
End If
(Hervé... une petite baisse de forme ? :p ),

Cordialement,
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Justre une petite précision

S'il s'agit d'une Listbox multiselect le listindex ne sert à rien je crois il faudra passer par le selected

Dim selectionfaite as boolean

For i = 0 To ListBox1.ListCount - 1

If ListBox1.Selected(i) = True Then
selectionfaite=true
exit for
End If
Next i
if selectionfaite = false then
MsgBox ('Veuillez choisir un éleveur avant de valider!')
exit sub
End if

Message édité par: Pascal76, à: 01/09/2005 18:09
 

Discussions similaires

Statistiques des forums

Discussions
312 344
Messages
2 087 444
Membres
103 546
dernier inscrit
mohamed tano