Vba: Insérer sub dans la feuil1 dynamiquement
Résolu
ViriisXP
Messages postés
487
Date d'inscription
Statut
Membre
Dernière intervention
-
ViriisXP Messages postés 487 Date d'inscription Statut Membre Dernière intervention -
ViriisXP Messages postés 487 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'explique : j'ai actuellement un script qui me génère dynamiquement une liste d'optionboutton en fonction d'un nombre de valeur d'une feuille (une ligne = un bouton).
J'aimerais que comme lorsqu'on le rentre manuellement et qu'on ajoute l'option , je puisse faire :
Sachant que ma feuille s'appel "Filtres" qu'il s'agit de la feuil1 et que j'aimerais que ce code soit généré directement dans mon For i = qui lui est présent dans une autre feuille ( a savoir "Valeurs").
En gros : je clic sur mon bouton de génération de macro dans la feuille "Valeurs"-> ca va chercher ma colonne A1 to A500 et ca prend le nombre de valeur qu'il as trouvé et crée dans la feuille "Filtres" autand d'optionbouton que de valeur trouvé (donc tout ca j'ai reussi!) et que dans le code de la feuil1("Filtres") ca me rajoute à la suite du code présent, autant de
que de bouton générer....
Alors j'ai trouvé un truc comme ca :
Mais comme je suis pas dans la même feuille, je pense pas que ce code marche, je pense qu'il doit être plutôt dans un module.
2eme étapes : le code dans la private sub doit être générer dynamiquement également en fonction d'une concaténation de valeurs présente dans "Valeurs" mais on verra après ^^
Merci par avance à ceux qui proposerais leurs aides
J'aimerais que comme lorsqu'on le rentre manuellement et qu'on ajoute l'option , je puisse faire :
Private Sub OptionButton_Click() 'blabla End Sub
Sachant que ma feuille s'appel "Filtres" qu'il s'agit de la feuil1 et que j'aimerais que ce code soit généré directement dans mon For i = qui lui est présent dans une autre feuille ( a savoir "Valeurs").
En gros : je clic sur mon bouton de génération de macro dans la feuille "Valeurs"-> ca va chercher ma colonne A1 to A500 et ca prend le nombre de valeur qu'il as trouvé et crée dans la feuille "Filtres" autand d'optionbouton que de valeur trouvé (donc tout ca j'ai reussi!) et que dans le code de la feuil1("Filtres") ca me rajoute à la suite du code présent, autant de
Private Sub OptionButton_Click() 'blabla End Sub
que de bouton générer....
Alors j'ai trouvé un truc comme ca :
laMacro = "Private Sub OptionButton1_Click()" & vbCrLf laMacro = laMacro & "msgbox(" & "test" & ")" & vbCrLf laMacro = laMacro & "End Sub" With ThisWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule x = .CountOfLines + 1 .InsertLines x, laMacro End With
Mais comme je suis pas dans la même feuille, je pense pas que ce code marche, je pense qu'il doit être plutôt dans un module.
2eme étapes : le code dans la private sub doit être générer dynamiquement également en fonction d'une concaténation de valeurs présente dans "Valeurs" mais on verra après ^^
Merci par avance à ceux qui proposerais leurs aides
A voir également:
- Vba: Insérer sub dans la feuil1 dynamiquement
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
3 réponses
Re,
Un exemple de programmation. J'ai volontairement enleve les "*" pour choix "Tous". Si vous voulez cette option de choix, a vous de faire le tri en fonction de ce choix. C'est faisable, mais il faudra cogiter un peu pour eviter les doublons dans les listbox.
A vous de programmer le filtre, car je ne sais pas ou vous voulez le faire.
https://www.cjoint.com/?BFCkQvZh2Qb
A+
Un exemple de programmation. J'ai volontairement enleve les "*" pour choix "Tous". Si vous voulez cette option de choix, a vous de faire le tri en fonction de ce choix. C'est faisable, mais il faudra cogiter un peu pour eviter les doublons dans les listbox.
A vous de programmer le filtre, car je ne sais pas ou vous voulez le faire.
https://www.cjoint.com/?BFCkQvZh2Qb
A+
Toujours Erreur d'exécution 9 : l'indice n'appartient pas à la sélection.
Re, bon j'ai expliquer le tout dans le fichier xls suivant .
ca te permettra de voir en direct ^^
https://www.cjoint.com/?BFBmgoEtNqn
Cordialement
ca te permettra de voir en direct ^^
https://www.cjoint.com/?BFBmgoEtNqn
Cordialement
J'ai demandé, * ne sera pas nécessaire.
Merci beaucoup pour tout !!!
donc je suis reparti à sa création.... j'ai rajouter également des critères de plages de recherche. j'aurais surement besoin d'un peu d'aide ^^
bon, mon chef aime l'idée du *
Un chef est un chef. Par contre si c'est vous qui lui avez parle des "*", je ne dirai rien, mais......(cela commence par un F) et ce n'est pas toujours "payant".
Rappelez moi ce que vous vouliez parce que :
j'ai rajouter également des critères de plages de recherche
Cela risque d'etre un peu rock'n roll a programmer.
En gros : ca me permettrait d'extraite un tableau de statistique en fonction du critère de recherche.
L'intérêt est de comptabilisé le nombre d'intervention prévu sur une plage donné (du ... au ...) et suivant le destinataire il faut pouvoir selectionner plutot selon les site, plutot selon les clients, ect ...
exemple non probant :
Si il veux toutes les OP des engins 81000, pour le site de Bordeaux, mais pas que pour le client Aqui, il veut que ca donne un tableau de stats.