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 )
 

myDearFriend!

XLDnaute Barbatruc
Re : Interface Lancement n macros

Bonsoir Staple1600, allegro50, jeanpierre, tatiak, criscris11,

Peut-être pourrais-tu tenter un truc comme ça :
Code:
[SIZE=2][COLOR=GRAY][B][I]DANS LE MODULE DE CODE DE LA FEUILLE[/I][/B][/COLOR]

[COLOR=NAVY]Option Explicit[/COLOR]

[COLOR=NAVY]Private Sub[/COLOR] Worksheet_SelectionChange([COLOR=NAVY]ByVal[/COLOR] Target [COLOR=NAVY]As[/COLOR] Range)
[COLOR=NAVY]Dim[/COLOR] L [COLOR=NAVY]As Byte[/COLOR]   [COLOR=GREEN]'Byte à adapter si plus de 255[/COLOR]
    [COLOR=NAVY]If Not[/COLOR] Application.Intersect(ActiveCell, Range("A1:A200")) [COLOR=NAVY]Is Nothing Then[/COLOR]
        Application.Run "Exemple" & ActiveCell.Row
    [COLOR=NAVY]End If
End Sub[/COLOR]
[/SIZE]
Code:
[SIZE=2][COLOR=GRAY][B][I]DANS UN MODULE DE CODE STANDARD[/I][/B][/COLOR]

[COLOR=NAVY]Option Explicit[/COLOR]

[COLOR=NAVY]Sub[/COLOR] Exemple1()
    MsgBox "Macro Exemple1"
[COLOR=NAVY]End Sub[/COLOR]

[COLOR=NAVY]Sub[/COLOR] Exemple2()
    MsgBox "Macro Exemple2"
[COLOR=NAVY]End Sub[/COLOR]

Etc...[/SIZE]
Cordialement,
 

Staple1600

XLDnaute Barbatruc
Re : Interface Lancement n macros

Rebonsoir à tous

Pour eclaircir les choses:

Le début: dans l'aide VBA, lorsque on tape exemple comme mots-clés
on trouve 1024 entrées

J'ai donc récupéré dans un fichier texte tous les exemples de toutes les rubriques de l'aide.

Maintenant pour les themes abordés, je ne sais lesquels choisir
puisque je voulais inclure tous les exemples

De plus la plupart des exemples doivent être modifiés
ex: transformer Sheet1 en Feuil1
traduction en français

Je vais réfléchir plus avant à cette liste exhaustive

Si quelqu'un a une idée, qu'il se manifeste svp

Ps : merci à myDearFriend pour son conseil
 

Staple1600

XLDnaute Barbatruc
Re : Interface Lancement n macros

Avant d'aller rejoindre Morphée


Pour répondre à lacorse33

voici une liste exhaustisve

(je remercie au passage msdos et son
find /V...)

Donc voila la liste dans la pièce jointe

En vous souhaitant à tous une bonne nuit
et en vous remerciant.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Interface Lancement n macros

Bonjour

Juste une question en passant

En voulant créer un echantillon du fichier texte
qui contient tous les exemples
(voir pice jointe)

J'ai utilisé Excel pour l'ouvrir
le modifier et l'enregistrer au format texte
Résultat, Excel à rajouté des guillemets partout
(indentificateur de texte apparemment)

Pourtant on ne les voit pas à l'affichage dans Excel
Et meme en copiant/collant dans Wordpad ils sont là.

Question comment faire pour éviter cela?
Le problème étant que maintenant on a:
"Set dataTableRange = Worksheets(1).Range(""A1:K11"")"
comment oter " pour avoir
Set dataTableRange = Worksheets(1).Range("A1:K11")

Faites-moi savoir si vous etes interessé par le fichier global
dont voici un apercu:

Bonne journée à tous
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Interface Lancement n macros

Bonsoir

J'attends vos commentaires

pour savoir comment organiser la chose?

(la compilation)

Qui serais-prêt(e) à se partager la tâche avec moi?

Le fichier texte compréssé fait 400 ko

donc je ne peux le joindre ici

Si quelqu'un a une idée de comment procéder pour réaliser
ce classeur compilateur ou ces classeurs compilateurs
qu' il n'hésite pas à se manifester.

A plus tard.
 

criscris11

XLDnaute Accro
Re : Interface Lancement n macros

Bonsoir Staple,
T'inquiètes-pas, pour ma part je suis toujours intéressé par ton projet mais je ne peux pas t'aider étant novice dans ce domaine mais je vais relancer Béa qui avait commencé à répondre à ton fil. Je pense qu'il faut un peu de temps pour pouvoir résoudre ton problème mais je sais pertinnement qu'il va aboutir.
Bon courage et à bientôt sur ce fil ou le forum.
 

Staple1600

XLDnaute Barbatruc
Re : Interface Lancement n macros

Bonsoir


Alors comment fait-on?

Le code VBA n'attends plus que des petites mains

pour rendre les macros exemples opérationnelles.


(Si je m'y mets seul, je serai obligé de cesser
de m'alimenter, de dormir, de regarder la télévision, de boire
pour pouvoir finir cette compilation avant Noel)
 
M

Mytå

Guest
Re : Interface Lancement n macros

Salut le Forum

Un autre façon de faire

Module de Feuille
PHP:
Option Explicit
Option Base 1
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Formule(5) As String
Dim Texte As String
Dim Fonction As String
If Not Application.Intersect(ActiveCell, Range("B:B")) Is Nothing Then
Select Case Target.Value
    Case "Abs"
        Formule(1) = "=Abs( 50.3)"
        Formule(2) = "=Abs(-50.3)"
        Fonction = Target.Value
        Texte = ""
        Texte = Texte + Formule(1) & " renvoie " & Evaluate(Formule(1)) & vbCrLf
        Texte = Texte + Formule(2) & " renvoie " & Evaluate(Formule(2)) & vbCrLf
            Call Message(Texte, Fonction)
    Case "Array"
    Dim MyWeek
    MyWeek = Array("Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim")
        Formule(1) = "MyWeek = Array(""Lun"", ""Mar"", ""Mer"", ""Jeu"", ""Ven"", ""Sam"", ""Dim"")"
        Formule(2) = "=MyWeek(2)"
        Formule(3) = "=MyWeek(4)"
        Fonction = Target.Value
        Texte = ""
        Texte = Texte + Formule(1) & vbCrLf & vbCrLf
        Texte = Texte + Formule(2) & " renvoie " & MyWeek(2) & vbCrLf
        Texte = Texte + Formule(3) & " renvoie " & MyWeek(4) & vbCrLf
            Call Message(Texte, Fonction)
End Select
End If
End Sub

Dans un module standard
PHP:
Option Explicit
Sub Message(Texte As String, Fonction As String)
    MsgBox Texte, 64, Fonction & ", fonction"
End Sub

Sur la feuille 1 en colonne B le Format personnalisé
@" ,fonction"

Mytå
 

Staple1600

XLDnaute Barbatruc
Re : Interface Lancement n macros

Bonjour

Merci Mytå pour ta proposition

Es-ce possible d'intégrer tous les exemples de l'aide de cette façon?

Ma démarche étant la suivante
En respectant la structure de l'aide VBA
(donc apparemment l'ordre alphabétique)
dés qu'il y a un exemple, on l'introduit dans un module

j'avais comme idée (tel le jeu du cadavre exquis)
quelqu'un commence à intégrer les exemples dans un classeur
poste le classeur ici
une autre personne prend la suite intégre les exemples suivants
poste le fichier
et ainsi de suite

Peut-on en suivant ton exemple
inésrer autant de Case que l'on veut
(Il n'y a pas de limite?)

Et tous les exemples se seront des msgbox

Si quelqu'un a une autre idée sur comment réaliser ce projet
j'attends ses propositions

Je rappelle que je tiens à disposition un fichier texte
qui contient tous les exemples contenues dans Vbaxl9.chm
(L'aide VBA d'Excel 2000)
Mais il fait 500ko zippé.

Voila, bonne journée à tous
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 340
Membres
103 524
dernier inscrit
Smile1813