Interface Lancement n macros

Staple1600

XLDnaute Barbatruc
Bonsoir à tous

Voila mon souci:

Dans un classeur devant contenir n macros
(plus de 200)

Je suis parti sur cette idée:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("E2:O10")) Is Nothing Then Exit Sub
Select Case Target.Address
Case Is = "$E$2"
EX_CHR_FONCTXX
Case Is = "$F$2"
EX_RGBXX
End Select
End Sub

ce qui lance sur un clic dans une plage de cellules une macro

Quelq'un aurait une autre idée pour permettre à l'utilisateur
de lancer les macros sur un clic?
ou une autre piste pour créer une interface permettant de lancer
n macros

PS:(le but final étant dans un classeur de repertorier
tous les exemples de l'aide VBA et donc
en cliquant sur cellule de lancer une macro )
 

Staple1600

XLDnaute Barbatruc
Re : Interface Lancement n macros

L'ouverture de ce post m'amène à me poser ces questions

Y'a t'il une limite au nombre de modules VBA dans un classeur?
et une limite au nombre de procédures dans ce même classeur?

Donc j'en profite pour vous poser a u forum ces mêmes questions.
 

Staple1600

XLDnaute Barbatruc
Re : Interface Lancement n macros

Is there anybody here?
I wish you were here...

Procedures, Types, and Variables

There is no limit on the number of procedures per module. Each procedure can contain up to 64K of code. If a procedure or module exceeds this limit, Visual Basic generates a compile-time error.
source:
Ce lien n'existe plus

Dois-je en conclure que c'est la même chose pour VBA?

Qui aurais ici ce genre d'infos?
 

Staple1600

XLDnaute Barbatruc
Re : Interface Lancement n macros

Que la macro s'éxécute

Exemple

je clique en A1
donc
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Address
Case Is = "$A$1"
exemple1
.....
ou exemple1 est la macro suivante
sub exemple1
msgbox "hello"
end sub

Ce code fonctionne

Mais ma question est que le classeur doit contenir
un trés grand nombres de procédures VBA
(toutes issues de l'aide VBA)

Admettons que je veuille illustrer 100 exemples de l'aide
cela fera:
Select Case Target.Address
Case Is = "$A$1"
exemple1
...
...
Case Is "$A$100"
exemple100
En select
End sub

Hors dans mon cas de n macros
n>= à 1500
Ce qui me semble difficile à mettre en place
avec la procédure Selection_Change

D'ou ma demande:
comment s'y prendre autrement?
 

Staple1600

XLDnaute Barbatruc
Re : Interface Lancement n macros

Bonsoir

4 - La suite et le suivi de la Question

a) Généralement si les points de 1) à 3) ont été appliqués vous aurez une réponse assez rapidement. Toutefois nous ne sommes tous que des bénévoles et il se peut que selon la complexité de votre problème un temps de réponse plus long soit nécessaire. Dans tous les cas restez dans le fil initial, ré-ouvrir un nouveau fil pour dire ' je n’ai pas eu de réponse à mon post précédent ' (surtout si celui-ci date de la veille ou de l’avant-veille) aura un effet négatif inverse.

Dois-je comprendre que je n'ai respecté les points 1 et 3?

Ou ma question est-elle trop absconce?

Si c'est le cas dites le moi

Quelle est la procédure à suivre quand un post ne recoit pas de réponse mais juste une question (à laquelle j'ai répondu)?
 

jeanpierre

Nous a quitté
Repose en paix
Re : Interface Lancement n macros

Bonsoir Staple1600, allegro50,

Je ne sais quoi te répondre pour le moment, sinon quelque chose comme :

Adagio un poco religioso. (à cause de allegro là):eek:

Ceci pour te dire qu'il convient d'attendre, d'être patient. Tu connais ce forum, quelquefois cela va vite, très vite et d'autres il faut un peu plus de temps.

Te souhaitant bonne patience et soirée.

Jean-Pierre
 

criscris11

XLDnaute Accro
Re : Interface Lancement n macros

Bonsoir à tous,
Etant novice en VBA et intéressé par le projet de Staple, je me suis permis d'envoyer un petit message à ma maîtresse du VBA, j'ai nommé lacorse33, qui j'espère pourra aider à finaliser ce projet qui devrait être très précieux au débutant en VBA comme moi.
J'espère que personne n'y verra d'inconvénients.
@ Tatiak : joli coup, il fallait y penser.
Bonne soirée à tous.
 

Staple1600

XLDnaute Barbatruc
Re : Interface Lancement n macros

Bonsoir

Je ne suis pas pressé.

Ce qui me posais question c'était qu'il n'y avait pas de réaction à mon post
(sauf une)

Par conséquent je me disais que mon projet
(compiler les exemples de l'aide VBA)
n'interessai personne ici .

la question ne se pose plus puisque des réactions il ya.
 

jeanpierre

Nous a quitté
Repose en paix
Re : Interface Lancement n macros

Re,

Pour te dire, rassures toi, ton projet est très intéressant. (et je fais parti de ceux qui y sont sensibles)
Je viens de voir à l'heure du midi ton autre post dans le salon il me semble, mais du bureau je ne peux pas faire grand chose.

Allez bonne soirée
 

criscris11

XLDnaute Accro
Re : Interface Lancement n macros

Re Stapple,
Comme tu as pû t'en apercevoir et tu le dis si bien, il y en a que cà intéresse et moi le premier mais malheureusement sur ce coup là je ne peux t'être d'aucune utilité à moins que Béa soit connectée et vois ton fil ne serait-ce que par le MP que je lui ai envoyé.
Allez, bonne soirée.
 

Staple1600

XLDnaute Barbatruc
Re : Interface Lancement n macros

Re bonsoir à tous

Pour préciser les chose:

Vu le nombre d'exemples dans l'aide (plus de 1500)
je ne sais pas trop comment faire la compilation

soit un seul classeur
(d'ou la question de ce post: quelle interface et comment lancer les macros)

soit plusieurs classeurs (classifiés selon l'aide)
Constantes,Type de données,Consignes, Evènements... etc

C'est pourquoi je m'adresse à vous
quelle ergonomie adopter?
comment présenter les exemples?
faire une sélection (un top 100)?

Pour le moment:
J'ai tous les exemples (non triés,non déboublonnés) dans un fichier
texte unicode de 2,55 MO)
que j'ai copié dans un module vba

Que faire maintenant?

J'attens vos suggestions.
 

Staple1600

XLDnaute Barbatruc
Re : Interface Lancement n macros

Concernant la réponse avec les hyperliens
J'ai essayé cela en complément de la réponse de tatiak
Sub test()
LesEX = Array("Macro1", "Macro2", "Macro3", "Macro4", "Macro5", "Macro6", "Macro7", "Macro8", "Macro9", "Macro10")
For i = 1 To Sheets(1).Hyperlinks.Count
With Sheets(1).Hyperlinks(i)
.ScreenTip = "Exemple " & LesEX(i - 1)
.TextToDisplay = "Exemple " & LesEX(i - 1)
End With
Next i
End Sub

Mais le problème reste posé
Entre 1000 cellules à cliquer
ou 1000 hyperliens, le classeur risque d'etre instable non?
 
Dernière édition:

lacorse33

XLDnaute Occasionnel
Re : Interface Lancement n macros

Bonsoir Staple1600, Chris, le fil et le forum;

Tout d'abord, je remercie Chris de m'avoir gentiment proposé ce fil ;)
Je vais essayer d'apporter un début de solution à ton problème.

Je pense qu'il sera préférable de réaliser autant de classeurs qu'il y aura de thèmes abordés. Cela aura l'avantage d'alléger le nombre de macros par classeur.
De plus, pour appeler tous ces classeurs, je te propose un classeur central qui servira de sommaire.

Pourrais-tu déterminer plus clairement les différents thèmes abordés (liste exhaustive) et ensuite pour chaque thème, les rubriques à traiter ?

Dès que cela sera fait, je te proposerai des écrans et l'on en discutera à moins que tu ne commences à développer un ou 2 classeurs pour que je puisse t'aider encore plus facilement ?

Merci
A demain soir
Bonne nuit à tous
Béa
 

Discussions similaires

Statistiques des forums

Discussions
312 570
Messages
2 089 768
Membres
104 271
dernier inscrit
acuponctus