OVH Cloud OVH Cloud

Liste des macros disponibles

7 réponses
Avatar
jean.paulo
Bonjour.

Je suis novice dans les macros excel (mais pas en VB).

J'ai modifié une macro donnée dans une revue, sauvé en .XLA et coché la case
qui cite cette page.

Si je donne le nom de la macro (synthese) dans la case 'macro, executer',
celle-ci s'execute
correctement quand une autre feuille est chargée.

Pourtant, son nom n'apparait pas dans la liste des macros disponible, quel
que soit
le choix (tout les fichiers chargés...) dans la liste des outils.

La SUB est déclarée Public.

Une idée ?

--
Jean.paulo

7 réponses

Avatar
lSteph
Bonjour,
AMHA c'est ainsi pour les addins (macros complémentaires).
Dans excel ouvre un classeur vide
alt+F11 pour afficher en tant que projet dans vbe
Insertion module
dedans
Sub masub()
msgbox "hello"
end sub
ferme VBE, la macro masub est bien dans outils macro
Alt+F11 retour dans VBE
A gauche dans l'explorateur de projets sélectionne le thisworkbook de ce
classeur
Toujours dans vbe Menu Affichage Fenêtre propriétés
Mets IsAddin à true

ferme VBE, la macro masub n'apparaît plus dans la liste.


lSteph

"jean.paulo" a écrit dans le message de news:

Bonjour.

Je suis novice dans les macros excel (mais pas en VB).

J'ai modifié une macro donnée dans une revue, sauvé en .XLA et coché la
case
qui cite cette page.

Si je donne le nom de la macro (synthese) dans la case 'macro, executer',
celle-ci s'execute
correctement quand une autre feuille est chargée.

Pourtant, son nom n'apparait pas dans la liste des macros disponible, quel
que soit
le choix (tout les fichiers chargés...) dans la liste des outils.

La SUB est déclarée Public.

Une idée ?

--
Jean.paulo



Avatar
jps
bonjour jean paulo (héhé), pas de bonjour au néo-scudeur LSteph
je mimisce...
ce qui revient à dire que si tu dois affecter à un bouton une macro sauvée
en XLA, il te faudra entrer son nom à la mimine dans la boîte Affecter une
macro
jps

"lSteph" a écrit dans le message de news:

Bonjour,
AMHA c'est ainsi pour les addins (macros complémentaires).
Dans excel ouvre un classeur vide
alt+F11 pour afficher en tant que projet dans vbe
Insertion module
dedans
Sub masub()
msgbox "hello"
end sub
ferme VBE, la macro masub est bien dans outils macro
Alt+F11 retour dans VBE
A gauche dans l'explorateur de projets sélectionne le thisworkbook de ce
classeur
Toujours dans vbe Menu Affichage Fenêtre propriétés
Mets IsAddin à true

ferme VBE, la macro masub n'apparaît plus dans la liste.


lSteph

"jean.paulo" a écrit dans le message de news:

Bonjour.

Je suis novice dans les macros excel (mais pas en VB).

J'ai modifié une macro donnée dans une revue, sauvé en .XLA et coché la
case
qui cite cette page.

Si je donne le nom de la macro (synthese) dans la case 'macro, executer',
celle-ci s'execute
correctement quand une autre feuille est chargée.

Pourtant, son nom n'apparait pas dans la liste des macros disponible,
quel
que soit
le choix (tout les fichiers chargés...) dans la liste des outils.

La SUB est déclarée Public.

Une idée ?

--
Jean.paulo







Avatar
jean.paulo
Oh, qu'elle pitié... Mais Merci ça confirme mes soupçons...

Peut-être une autre petite question :

En Hypertext, il ne semble pas possible de
'brancher' vers une feuille qui contienne un graphique pur. 'page'!A1 donne
un message
'commande invalide' ou semblable.

Est-ce vrai, ou y a t'il une astuce ?

--
Jean.paulo

"jps" a écrit dans le message de
news:%
bonjour jean paulo (héhé), pas de bonjour au néo-scudeur LSteph
je mimisce...
ce qui revient à dire que si tu dois affecter à un bouton une macro sauvée
en XLA, il te faudra entrer son nom à la mimine dans la boîte Affecter une
macro
jps

"lSteph" a écrit dans le message de news:

Bonjour,
AMHA c'est ainsi pour les addins (macros complémentaires).
Dans excel ouvre un classeur vide
alt+F11 pour afficher en tant que projet dans vbe
Insertion module
dedans
Sub masub()
msgbox "hello"
end sub
ferme VBE, la macro masub est bien dans outils macro
Alt+F11 retour dans VBE
A gauche dans l'explorateur de projets sélectionne le thisworkbook de ce
classeur
Toujours dans vbe Menu Affichage Fenêtre propriétés
Mets IsAddin à true

ferme VBE, la macro masub n'apparaît plus dans la liste.


lSteph

"jean.paulo" a écrit dans le message de news:

Bonjour.

Je suis novice dans les macros excel (mais pas en VB).

J'ai modifié une macro donnée dans une revue, sauvé en .XLA et coché la
case
qui cite cette page.

Si je donne le nom de la macro (synthese) dans la case 'macro,
executer',



celle-ci s'execute
correctement quand une autre feuille est chargée.

Pourtant, son nom n'apparait pas dans la liste des macros disponible,
quel
que soit
le choix (tout les fichiers chargés...) dans la liste des outils.

La SUB est déclarée Public.

Une idée ?

--
Jean.paulo










Avatar
michdenis
Bonjour Jean,

Voici un message paru il y a quelque temps sur ce forum.
Cela pourrait bien te donner des idées pour résoudre ta problématique ...

La réponse est de Alain Cros si ma mémoire ne me joue pas de tour !

==================================== Il n'est pas possible de faire un lien vers une feuille graphique mais ...

Colle ce code dans le module ThisWorkbook.

Cette section permet de sélectionner les feuilles graphiques...
'------------------
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As
Excel.Range)
On Error Resume Next
If Not Sh Is Worksheets("Sommaire") Then Exit Sub
If Intersect(Target, Sh.Range("A1:A" & Sheets.Count - 1)) Is Nothing Then Exit
Sub
If ActiveSheet Is Sh Then Sheets(Target.Value).Activate
End Sub
'------------------

Puis celui ci dans un module standard.

Sub AjoutSommaire()
Dim I&
Application.DisplayAlerts = False
On Error Resume Next
Worksheets("Sommaire").Delete
On Error GoTo 0
Application.DisplayAlerts = True
Worksheets.Add(Sheets(1)).Name = "Sommaire"
For I = 2& To Sheets.Count
Worksheets(1).Range("A" & I - 1&) = Sheets(I).Name
If TypeName(Sheets(I)) = "Chart" Then
Worksheets(1).Hyperlinks.Add Worksheets(1).Range("A" & I - 1&), "",
_
Worksheets(1).Name & "!A" & I - 1&
Else
Worksheets(1).Hyperlinks.Add Worksheets(1).Range("A" & I - 1&), "",
_
Worksheets(1).Range("A" & I - 1&) & "!A1"
End If
Next I
End Sub

Puis tu lance AjoutSommaire qui te crée une nouvelle feuille avec les liens que
tu recherche.

fin de copie ----
====================================

Salutations!



"jean.paulo" a écrit dans le message de news:
Oh, qu'elle pitié... Mais Merci ça confirme mes soupçons...

Peut-être une autre petite question :

En Hypertext, il ne semble pas possible de
'brancher' vers une feuille qui contienne un graphique pur. 'page'!A1 donne
un message
'commande invalide' ou semblable.

Est-ce vrai, ou y a t'il une astuce ?

--
Jean.paulo

"jps" a écrit dans le message de
news:%
bonjour jean paulo (héhé), pas de bonjour au néo-scudeur LSteph
je mimisce...
ce qui revient à dire que si tu dois affecter à un bouton une macro sauvée
en XLA, il te faudra entrer son nom à la mimine dans la boîte Affecter une
macro
jps

"lSteph" a écrit dans le message de news:

Bonjour,
AMHA c'est ainsi pour les addins (macros complémentaires).
Dans excel ouvre un classeur vide
alt+F11 pour afficher en tant que projet dans vbe
Insertion module
dedans
Sub masub()
msgbox "hello"
end sub
ferme VBE, la macro masub est bien dans outils macro
Alt+F11 retour dans VBE
A gauche dans l'explorateur de projets sélectionne le thisworkbook de ce
classeur
Toujours dans vbe Menu Affichage Fenêtre propriétés
Mets IsAddin à true

ferme VBE, la macro masub n'apparaît plus dans la liste.


lSteph

"jean.paulo" a écrit dans le message de news:

Bonjour.

Je suis novice dans les macros excel (mais pas en VB).

J'ai modifié une macro donnée dans une revue, sauvé en .XLA et coché la
case
qui cite cette page.

Si je donne le nom de la macro (synthese) dans la case 'macro,
executer',



celle-ci s'execute
correctement quand une autre feuille est chargée.

Pourtant, son nom n'apparait pas dans la liste des macros disponible,
quel
que soit
le choix (tout les fichiers chargés...) dans la liste des outils.

La SUB est déclarée Public.

Une idée ?

--
Jean.paulo










Avatar
jean.paulo
Merci.

C'est hélas un peu compliqué pour mon besoin, qui est juste de créer une
feuille temporaire
de synthèse

Mais je vais essayer.
--
Jean.paulo

"michdenis" a écrit dans le message de
news:eGBqe$
Bonjour Jean,

Voici un message paru il y a quelque temps sur ce forum.
Cela pourrait bien te donner des idées pour résoudre ta problématique ...

La réponse est de Alain Cros si ma mémoire ne me joue pas de tour !

=====================================


Avatar
jean.paulo
J'ai trouvé sur un site une astuce qui résoud mon problème de macro
invisible. Au lieu de
sauver ma feuille en .xla, je masque toutes les feuilles qu'elle contient,
et je place le .xls dans le fichier
Xcel/start... (ou plutot une copie)

Et bingo, mes macros sont disponibles dans la fenêtre 'macro' toutes les
feuilles chargées...

--
Jean.paulo.bidon

"jean.paulo" a écrit dans le message de
news:
Oh, qu'elle pitié... Mais Merci ça confirme mes soupçons...

Peut-être une autre petite question :

En Hypertext, il ne semble pas possible de
'brancher' vers une feuille qui contienne un graphique pur. 'page'!A1
donne

un message
'commande invalide' ou semblable.

Est-ce vrai, ou y a t'il une astuce ?

--
Jean.paulo

"jps" a écrit dans le message de
news:%
bonjour jean paulo (héhé), pas de bonjour au néo-scudeur LSteph
je mimisce...
ce qui revient à dire que si tu dois affecter à un bouton une macro
sauvée


en XLA, il te faudra entrer son nom à la mimine dans la boîte Affecter
une


macro
jps

"lSteph" a écrit dans le message de news:

Bonjour,
AMHA c'est ainsi pour les addins (macros complémentaires).
Dans excel ouvre un classeur vide
alt+F11 pour afficher en tant que projet dans vbe
Insertion module
dedans
Sub masub()
msgbox "hello"
end sub
ferme VBE, la macro masub est bien dans outils macro
Alt+F11 retour dans VBE
A gauche dans l'explorateur de projets sélectionne le thisworkbook de
ce



classeur
Toujours dans vbe Menu Affichage Fenêtre propriétés
Mets IsAddin à true

ferme VBE, la macro masub n'apparaît plus dans la liste.


lSteph

"jean.paulo" a écrit dans le message de
news:




Bonjour.

Je suis novice dans les macros excel (mais pas en VB).

J'ai modifié une macro donnée dans une revue, sauvé en .XLA et coché
la




case
qui cite cette page.

Si je donne le nom de la macro (synthese) dans la case 'macro,
executer',



celle-ci s'execute
correctement quand une autre feuille est chargée.

Pourtant, son nom n'apparait pas dans la liste des macros disponible,
quel
que soit
le choix (tout les fichiers chargés...) dans la liste des outils.

La SUB est déclarée Public.

Une idée ?

--
Jean.paulo













Avatar
jean.paulo
Bonjour.

Je suis perplexe. La seconde partie du code correspond grossièrement à ce
que je fais moi-même, sauf que j'ajoute des "'" pour accepter les nom avec
espaces, et que c'est toujours "A1" qui est utilisé. donc 'feuil1'!A1, et
'sommaire'!xx qui est la cell avec le nom.

Par contre, il est clair que la première partie qui est activée lors du
changement de feuille doit être AJOUTEE à chaque classeur que l'on veut
traiter.
Ce qui est une sérieuse restriction
Bref, celà fonctionne avec la feuille crée avec ton exemple, mais pas avec
le mien, même si j'ajoute aussi le code dans 'this workbook'

Je ne comprend pas vraiment le code 'sheet_selection'

Je crois que je vais laisser tomber, cette partie n'est qu'un détail dans le
restant
de mon code, donc l'objet est de chercher toutes les références 'externes'
de mes classeurs.

Bizarre, bizarre !

--

Remove "bidon" to answer by mail
"michdenis" a écrit dans le message de
news:eGBqe$
Bonjour Jean,

Voici un message paru il y a quelque temps sur ce forum.
Cela pourrait bien te donner des idées pour résoudre ta problématique ...

La réponse est de Alain Cros si ma mémoire ne me joue pas de tour !

==================================== > Il n'est pas possible de faire un lien vers une feuille graphique mais ...

Colle ce code dans le module ThisWorkbook.

Cette section permet de sélectionner les feuilles graphiques...
'------------------
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As

Excel.Range)
On Error Resume Next
If Not Sh Is Worksheets("Sommaire") Then Exit Sub
If Intersect(Target, Sh.Range("A1:A" & Sheets.Count - 1)) Is Nothing Then
Exit

Sub
If ActiveSheet Is Sh Then Sheets(Target.Value).Activate
End Sub
'------------------

Puis celui ci dans un module standard.

Sub AjoutSommaire()
Dim I&
Application.DisplayAlerts = False
On Error Resume Next
Worksheets("Sommaire").Delete
On Error GoTo 0
Application.DisplayAlerts = True
Worksheets.Add(Sheets(1)).Name = "Sommaire"
For I = 2& To Sheets.Count
Worksheets(1).Range("A" & I - 1&) = Sheets(I).Name
If TypeName(Sheets(I)) = "Chart" Then
Worksheets(1).Hyperlinks.Add Worksheets(1).Range("A" & I -
1&), "",

_
Worksheets(1).Name & "!A" & I - 1&
Else
Worksheets(1).Hyperlinks.Add Worksheets(1).Range("A" & I -
1&), "",

_
Worksheets(1).Range("A" & I - 1&) & "!A1"
End If
Next I
End Sub

Puis tu lance AjoutSommaire qui te crée une nouvelle feuille avec les
liens que

tu recherche.

fin de copie ----
==================================== >

Salutations!



"jean.paulo" a écrit dans le message de news:


Oh, qu'elle pitié... Mais Merci ça confirme mes soupçons...

Peut-être une autre petite question :

En Hypertext, il ne semble pas possible de
'brancher' vers une feuille qui contienne un graphique pur. 'page'!A1
donne

un message
'commande invalide' ou semblable.

Est-ce vrai, ou y a t'il une astuce ?

--
Jean.paulo

"jps" a écrit dans le message de
news:%
bonjour jean paulo (héhé), pas de bonjour au néo-scudeur LSteph
je mimisce...
ce qui revient à dire que si tu dois affecter à un bouton une macro
sauvée


en XLA, il te faudra entrer son nom à la mimine dans la boîte Affecter
une


macro
jps

"lSteph" a écrit dans le message de news:

Bonjour,
AMHA c'est ainsi pour les addins (macros complémentaires).
Dans excel ouvre un classeur vide
alt+F11 pour afficher en tant que projet dans vbe
Insertion module
dedans
Sub masub()
msgbox "hello"
end sub
ferme VBE, la macro masub est bien dans outils macro
Alt+F11 retour dans VBE
A gauche dans l'explorateur de projets sélectionne le thisworkbook de
ce



classeur
Toujours dans vbe Menu Affichage Fenêtre propriétés
Mets IsAddin à true

ferme VBE, la macro masub n'apparaît plus dans la liste.


lSteph

"jean.paulo" a écrit dans le message de
news:




Bonjour.

Je suis novice dans les macros excel (mais pas en VB).

J'ai modifié une macro donnée dans une revue, sauvé en .XLA et coché
la




case
qui cite cette page.

Si je donne le nom de la macro (synthese) dans la case 'macro,
executer',



celle-ci s'execute
correctement quand une autre feuille est chargée.

Pourtant, son nom n'apparait pas dans la liste des macros disponible,
quel
que soit
le choix (tout les fichiers chargés...) dans la liste des outils.

La SUB est déclarée Public.

Une idée ?

--
Jean.paulo