XL 2019 demande d'aide sur vba

bema""

XLDnaute Nouveau
Bonjour les amis ,
étant nouveau je ne sais pas si je suis au bonne endroit voila j'essai désespérément à essayer d'une part d'afficher une image dans un userform après avoir sélectionner dans une combobox un choix.
ensuite la ou je suis complètement perdu je souhaiterai après avoir fait des choix via 2 combobox faire démarrer une barre progression pour afficher ensuite le resultat dans une liste box . Ci-joint le fichier cela sera certainement plus claire j'ai mis les annotations explicatives.
Un grand merci par avant à tout les bienfaiteurs qui accepteront de bien prendre de leur temps pour m'aider.
 

Pièces jointes

  • Aide image.xlsm
    41.8 KB · Affichages: 5
Solution
bonjour à tout les deux
pour la faire durer 40 secondes utilisez un pointeur timer
VB:
Private Sub CommandButton1_Click()
    Dim t#
    ProgressBar1.Max = 100 'on regle la barre  à 100 de max
    t = Timer 'on point un timer
    Do While Timer - t < 40 'on boucle tant que timer-t est plus petit que 40
               ProgressBar1.Value = Application.Min((100 / 40) * (Timer - t), 100)
        DoEvents
    Loop
End Sub

Lolote83

XLDnaute Barbatruc
Bonjour BEMA,

Voici en retour ton fichier.
Les images ont été renommées
Pour la barre de progression, j'ai mis actuellement une valeur de 400 000 mais cela reste insuffisant pour 40 sec.
Ne sachant pas comment faire pour une durée de 40 sec, il faut augmenter cette valeur pour obtenir ce que tu souhaites.

@+ Lolote83
 

Pièces jointes

  • Copie de BEMA - Aide image.xlsm
    47.2 KB · Affichages: 6

bema""

XLDnaute Nouveau
Bonjour BEMA,

Voici en retour ton fichier.
Les images ont été renommées
Pour la barre de progression, j'ai mis actuellement une valeur de 400 000 mais cela reste insuffisant pour 40 sec.
Ne sachant pas comment faire pour une durée de 40 sec, il faut augmenter cette valeur pour obtenir ce que tu souhaites.

@+ Lolote83
Merci infiniment Lolote83 c'est parfait pour ne pas resté idiot peux tu m'expliquer le code? et sans vouloir abuser de ta gentillesse je voulais savoir comment afficher la sélection choisi dans la list box . Encore merci
 

Lolote83

XLDnaute Barbatruc
Re bonjour,
L'explication du code sera difficile.
En fait, le fait d'avoir renommé les images, quand tu sélectionnes un fournisseur (Engie, Total Direct Energie, Eni ....) l'image associée est copiée et collée dans le formulaire.

Pour afficher dans la listbox le résultat des 3 combobox

VB:
Private Sub CommandButton1_Click()
    xMax = 400000
    For F = 1 To xMax
        ProgressBar1.Max = xMax
        ProgressBar1.Value = F
    Next F
        
    ListBox1.AddItem ComboBox1
    ListBox1.AddItem ComboBox2
    ListBox1.AddItem ComboBox3
    
End Sub
@+ Lolote83
 

Lolote83

XLDnaute Barbatruc
Re bonjour BEMA,

pour le Fun, j'ai rajouté un bouton "fermer le formulaire" et j'ai redéfini des tableaux structurés pour les combobox. L'avantage, est que sui tu dois rajouter une données, elle seront immédiatement incluse dans le combobox.
Voir le fichier
@+ Lolote83
 

Pièces jointes

  • Copie de BEMA - Aide image.xlsm
    51.9 KB · Affichages: 5

patricktoulon

XLDnaute Barbatruc
bonjour à tout les deux
pour la faire durer 40 secondes utilisez un pointeur timer
VB:
Private Sub CommandButton1_Click()
    Dim t#
    ProgressBar1.Max = 100 'on regle la barre  à 100 de max
    t = Timer 'on point un timer
    Do While Timer - t < 40 'on boucle tant que timer-t est plus petit que 40
               ProgressBar1.Value = Application.Min((100 / 40) * (Timer - t), 100)
        DoEvents
    Loop
End Sub
 

bema""

XLDnaute Nouveau
bonjour à tout les deux
pour la faire durer 40 secondes utilisez un pointeur timer
VB:
Private Sub CommandButton1_Click()
    Dim t#
    ProgressBar1.Max = 100 'on regle la barre  à 100 de max
    t = Timer 'on point un timer
    Do While Timer - t < 40 'on boucle tant que timer-t est plus petit que 40
               ProgressBar1.Value = Application.Min((100 / 40) * (Timer - t), 100)
        DoEvents
    Loop
End Sub
Bonjour patricktoulon , un grand merci pour ta collaboration .
 

Discussions similaires