Boucle Liste VBA

MonkeyDguy Messages postés 7 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 27 octobre 2014 - 24 oct. 2014 à 11:45
MonkeyDguy Messages postés 7 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 27 octobre 2014 - 24 oct. 2014 à 15:35
Bonjour à tous ,

J'ai débuté VBA il ya 2 mois dans le cadre de mon stage.


Le but de mon stage étant de crée un reporting mensuel pour les chefs de projets de mon service et de leur envoyer par mail.


J'ai pour l'instant très bien réussi à créer ma maccro :


Avant de clicker sur le bouton qui lance ma macro (Fichier "Macro)" j'ai une liste déroulante pour choisir un chef de projet parmis une centaine.

En dessous j'ai une autre liste déroulante qui en fonction du chef de projet (donc de la liste déroulante au dessus) me donne les différents projets qui le concerne ( pas plus de 25 projets par chef). Je choisis un projet.

Ensuite je click sur mon bouton qui:

1) va extraire les données d'un fichier("BDD") vers un autre classeur ("Maquette").
2)ensuite ma maccro enregistre la maquette sous un nom de fichier en fonction de variables présentes (Le nom du projet et la date) dans le fichier ("Maquette")


3) Enfin le fichier et envoyé en pièce jointe par mail via Lotus Note.(ca on s'en fou )


Pour l'instant je dois choisir un part un les projets dans ma 2nd liste déroulante puis appuyer pour chaque choix de projet sur le bouton de ma macro, ce qui est lent, chiant, inefficient. (Qqn devra le faire quand mon stage sera finit et ca ne va pas lui plaire ^_^)


Je cherche à creer une boucle qui lancera ma macro pour chaque Projet du chef de projet.

(cela me permettra en plus d'envoyer un seul mail par chef de projet avec tous ses projet en pièce jointe , et non un mail par projet ce qui est encombrant pour leur boite mail!)


JE ne sais pas si j'ai été très claire n'hésitez pas à me poser des question!

Il m'est compliquer d'envoyer mon fichier qui contient des données confidentielles!


Merci d'avance

4 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 14
24 oct. 2014 à 12:32
Bonjour,

Le choix d'un contrôle ComboBox pour la liste des projets ne me semble pas judicieux.
Soit tu dois systématiquement tout envoyer par Lotus et à ce moment là pourquoi proposer un choix? Soit tu dois en sélectionner plusieurs parmi la liste globale et à ce moment là, un contrôle ListBox dont la propriété MultiSelect est réglée à fmMultiSelectMulti serait un bien meilleur choix...

Regarde cet exemple bricolé vite fait.
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
24 oct. 2014 à 12:33
Bonjour,


Je n'ai pas tout lu... mais il me semble que ta question pourrait se résumer en :
Comment faire une boucle sur une liste puis lancer une macro....

Déjà.. il faudrait que nous sachions où et comment sont renseignés ta (tes) liste(s)...
Ensuite... en fonction de ta réponse.. nous pourrons éventuellement te donner des indications.



0
MonkeyDguy Messages postés 7 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 27 octobre 2014
24 oct. 2014 à 12:59
@Pikaju

en effet le choix d'une combobox n'est certainement pas judicieux

J'avais fait de tel sorte parce qu'au départ je souhaitais que les chefs de projets aillent eux même générer leurs reporting via la macro. Cette combox leur permettait de ne chercher que dans leur projet et nom dans une liste d'une centaine de projet. Et cela permettait une certaine autonomie des chefs de projets , hélas mon supérieur n'étant pas du même avis pour des questions de sécurité des fichiers préfèrent l'envoi par mail une fois les reporting généré par une seule personne pour tous les chefs de projets

Je peu donc modifier cela (j'ai d'ailleur dans un onglet de ma macro une liste des projets par chefs de projet)

"Soit tu dois en sélectionner plusieurs parmi la liste globale et à ce moment là, un contrôle ListBox dont la propriété MultiSelect est réglée à fmMultiSelectMulti serait un bien meilleur choix... "

Je ne sait pas vraiment de coi tu parle la , mais je vais aller me renseigner chez mon amis google.


Concernant le fichier joint je regarderai vers 14h qd je retournerai au boulot je n'ai pas excel sur mon ordi perso lol


@jordanne45

"Comment faire une boucle sur une liste puis lancer une macro....
" Oui j'aurais pu être plus synthétique :D

concernant mes listes

où:

-Dans mon classeur "Macro" j'ai un onglet "A01" ou j'ai la liste de tous les projets ( de tous les chefs de projets) de E2 à E450

-En C2 j'ai le nom du chef de projet dont je veu sortir les reporting
-de D2 à Dx ( x <25) j'ai les projets qui concerne le chef de projet indiqué en C2 (via une formule excel et nom une macro).

Comment

Manuellement pour l'instant (j'ai pour projet de l'actualiser via une macro mais bon ca je devrait pouvoir le faire sans soucis par la suite)

J'espere avoir bien répondu à vos questions !


Merci pour votre réactivité en tout cas !
bon ap
0
MonkeyDguy Messages postés 7 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 27 octobre 2014
24 oct. 2014 à 14:42
Concernant ton fichier que j'ai pu regarder.

C'a ma l'air en effet pas mal j'essaye de le mettre en place ( c'est une première! je connaissais les modules mais pas les USF)

à l'aide des codes de ton fichier ca me fait pas mal avancer! par contre j'ai un soucis pour relier mon bouton a cet USF

Sur ton fichier j'appui et l USf apparait !
Comment as tu fais pour le relier a l'USF?

J'ai essayé clik droit sur le bouton "affecter une macro" mais le USF à raccorder n'apparait pas ! commennt as tu fais si ce n'est pas trop te demandeR?
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 14
24 oct. 2014 à 14:44
Le CommandButton dans la feuille n'est pas un bouton de formulaire, mais un contrôle ActiveX. Tu peux en voir le code dans le code de la feuille correspondante. Pour cela, clic droit sur l'onglet / Visualiser le code.

En même temps, le code en lui-même est :
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
0
MonkeyDguy Messages postés 7 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 27 octobre 2014
24 oct. 2014 à 15:07
J'ai mis le même code pour ma feuille concernée où je veux voir le bouton ( ce n'est pas la fueille ou il y a les données de listes mais une autre feuille du même classeur)

Qd je click sur lecture l'USF s'ouvre bien mais tjs pas de bouton sur ma feuille ! j'éspérais voir le bouton apparaitre sur la feuille mais non !

Vraiment désolé mais c'est une première pour moi de faire cela !
Comment as tu fais pour avoir le bouton sur ta feuille ?
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 14
24 oct. 2014 à 15:24
Onglet développeur / Insérer choisit le bouton dans les contrôles ActiveX :


Dessine le bouton sur ta feuille, puis clic sur le bouton Mode création...


Pour accéder à son code : clic droit sur l'onglet de la feuille / Visualiser le code...
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
24 oct. 2014 à 15:25

Qd je click sur lecture l'USF s'ouvre bien mais tjs pas de bouton sur ma feuille ! j'éspérais voir le bouton apparaitre sur la feuille mais non !

Heu... c'est à toi de placer un bouton sur ta feuille.....

J'ai essayé clik droit sur le bouton "affecter une macro"

Oui c'est bien ça... mais tu ne pointes pas sur une USF .. tu pointes sur une Macro qui Lances ton USF.

Tu ajoutes par exemple une macro (dans ton module) :
Sub LancerUsf()

Load Userform1
Userform1.Show
End sub
0
MonkeyDguy Messages postés 7 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 27 octobre 2014
24 oct. 2014 à 15:35
Merci c'est un de mes défault je n'avais pas tout lu et donc pas vu "contrôle active X"!
C'est bon pour le bouton c'a mouvre bien l userform souhaité je n'ai plus qu'à le configurer comme je le souhaite je vous tiens au jus de mon avancement !


Merci bcp
merci bcp
0
Rejoignez-nous