Boucle avec les données d'une listbox

Fermé
Dixtit Messages postés 16 Date d'inscription mercredi 27 septembre 2017 Statut Membre Dernière intervention 12 mai 2022 - 10 mai 2022 à 09:44
yg_be Messages postés 22783 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 mai 2024 - 12 mai 2022 à 10:21
Bonjour à tous,

Je suis un peu bloquée sur un code !
J’ai créé un userform avec 2 listbox, le but est de sélectionner dans la 1ère un ou plusieurs services pour les ajouter dans la 2nde.

Je voudrais que pour chaque entrée dans ma listbox2 une fonction soit exécutée.

Je pense à quelque chose dans le genre :

Pour chaque Services dans Listbox2
Exécute la commande exportPDFSces
Suivant
A la fin message « Traitement terminé »

Je ne peux pas transmettre de fichier, données confidentielles et fichier très très lourd !



Configuration: Windows / Firefox 91.0

6 réponses

yg_be Messages postés 22783 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 mai 2024 1 481
10 mai 2022 à 11:06
bonjour,
tu peux alors créer un exemple représentatif, et le partager.
0
Dixtit Messages postés 16 Date d'inscription mercredi 27 septembre 2017 Statut Membre Dernière intervention 12 mai 2022
11 mai 2022 à 07:57
J'ai créé un fichier : https://www.dropbox.com/scl/fi/t2trtaw8pms9e3c2hgakg/Automatisation-envoi-PDF-services.xlsm?dl=0&rlkey=qpoikvro0memczdao0hzmhe3c

J'avais quand même essayé avec mes quelques connaissances c'est la commande bouton 3 et la fonction export pour lesquelles je bloque...

Merci de ton aide,
0
yg_be Messages postés 22783 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 mai 2024 1 481
11 mai 2022 à 11:48
Je vois ton code. Il ne fonctionne pas bien?
0
Dixtit Messages postés 16 Date d'inscription mercredi 27 septembre 2017 Statut Membre Dernière intervention 12 mai 2022
11 mai 2022 à 13:39
Pas du tout.
La partie pour ajouter ou supprimer les éléments pas de soucis. Mais l'instruction de lancer la fonction pour tous les services dans la listbox2 bug
0
yg_be Messages postés 22783 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 mai 2024 1 481
11 mai 2022 à 14:08
bug: message d'erreur?
0
Dixtit Messages postés 16 Date d'inscription mercredi 27 septembre 2017 Statut Membre Dernière intervention 12 mai 2022
11 mai 2022 à 14:12
La variable de controle For each soit être de type variant ou object.

Je pense qu'il manque des éléments, comme je l'ai dit je suis novice en VBA... Je ne sais même pas ce que vaut le code
0
yg_be Messages postés 22783 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 mai 2024 1 481
11 mai 2022 à 14:20
(au moins) deux choses à corriger:
Dim Sces
    
    For Each Sces In ListBox2.List
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dixtit Messages postés 16 Date d'inscription mercredi 27 septembre 2017 Statut Membre Dernière intervention 12 mai 2022
11 mai 2022 à 14:31
Ah ca commence à fonctionner !
Mais ca ne s'arrête plus, même si je ne sélectionne qu'un seul service.

Ce n'est pas indispensable de dimensionner sa variable ?
Dim variable as type ??
0
yg_be Messages postés 22783 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 mai 2024 1 481
11 mai 2022 à 15:52
plutôt ainsi:
    Dim Sces As String, i As Long
    For i = 0 To ListBox2.ListCount - 1
        Sces = ListBox2.List(i, 0)
        Debug.Print Sces
        Call exportPDFSces(Sces)
    Next i
0
Dixtit Messages postés 16 Date d'inscription mercredi 27 septembre 2017 Statut Membre Dernière intervention 12 mai 2022
12 mai 2022 à 09:55
C'est super, ca fonctionne !

1000 mercis.

Je me permets juste une question afin d'essayer de me perfectionner, la commande Debug.Print Sces correspond à quoi exactement ?
0
yg_be Messages postés 22783 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 mai 2024 1 481
12 mai 2022 à 10:21
debug.print affiche dans une fenêtre de l'éditeur de code.
Cela permet de comprendre ce que fait le programme, en cas d'anomalie.
Tu peux supprimer cette instruction, ou la mettre en commentaire.
0