problème sur listbox

  • Initiateur de la discussion Initiateur de la discussion sylvain
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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 ? 😛 ),

Cordialement,
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
908
Réponses
10
Affichages
661
Réponses
4
Affichages
280
Réponses
15
Affichages
779
Réponses
8
Affichages
390
Retour