-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
J'ai enlevé le Call et ça ne fonctionne pas plus :-(
Je peux y arriver avec une zone de liste, mais
c'est plus laborieux. Et j'ai un autre problème.
Avec seulement quatre cartes de pays, je pèse
déjà 480 Ko, alors je n'ose pas imaginer mon poids
quand tous les pays du monde auront leur carte !!!
Private Sub ListBox1_Change()
ind = ListBox1.ListIndex + 1
Select Case ind
Case 1
Call AAutriche
Case 2
Call ABelgique
Case 3
Call AEspagne
Case 4
Call AFrance
End Select
End Sub
Serge
"Vincent." a écrit
dans le message de
news: dfcc01c3efdc$de556d90$
Salut !
Apparemment, tout marche bien dès que tu enlèves le Call.
Pourquoi... aucune idée ! (enfin, presque aucune ;-o )
A+
V.-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
.
-----Message d'origine-----
J'ai enlevé le Call et ça ne fonctionne pas plus :-(
Je peux y arriver avec une zone de liste, mais
c'est plus laborieux. Et j'ai un autre problème.
Avec seulement quatre cartes de pays, je pèse
déjà 480 Ko, alors je n'ose pas imaginer mon poids
quand tous les pays du monde auront leur carte !!!
Private Sub ListBox1_Change()
ind = ListBox1.ListIndex + 1
Select Case ind
Case 1
Call AAutriche
Case 2
Call ABelgique
Case 3
Call AEspagne
Case 4
Call AFrance
End Select
End Sub
Serge
"Vincent." <vincent.N0SP@MfallasATfr.pwc.com> a écrit
dans le message de
news: dfcc01c3efdc$de556d90$a601280a@phx.gbl...
Salut !
Apparemment, tout marche bien dès que tu enlèves le Call.
Pourquoi... aucune idée ! (enfin, presque aucune ;-o )
A+
V.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
.
-----Message d'origine-----
J'ai enlevé le Call et ça ne fonctionne pas plus :-(
Je peux y arriver avec une zone de liste, mais
c'est plus laborieux. Et j'ai un autre problème.
Avec seulement quatre cartes de pays, je pèse
déjà 480 Ko, alors je n'ose pas imaginer mon poids
quand tous les pays du monde auront leur carte !!!
Private Sub ListBox1_Change()
ind = ListBox1.ListIndex + 1
Select Case ind
Case 1
Call AAutriche
Case 2
Call ABelgique
Case 3
Call AEspagne
Case 4
Call AFrance
End Select
End Sub
Serge
"Vincent." a écrit
dans le message de
news: dfcc01c3efdc$de556d90$
Salut !
Apparemment, tout marche bien dès que tu enlèves le Call.
Pourquoi... aucune idée ! (enfin, presque aucune ;-o )
A+
V.-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
Bonjour Garnote,
La suggestion faite par Vincent fonctionne très bien.
attention :
A ) Attention au Mot "private" dans la déclaration de la procédure. Ce mot
limite l'appel de cette procédure par une autre
procédure située dans le même module
B ) où tes macros ont-elles été enregistré ?
Si tu es dans un module standard et que tu veuilles appeler une macro
écrite dans le module de la feuille1, tu dois
écrire le nom de la feuille devant le nom de la macro.
Feuil1.NomDeLaMacro
Salutations!
"garnote" a écrit dans le message de
news:QE5Wb.30508$
J'ai enlevé le Call et ça ne fonctionne pas plus :-(
Je peux y arriver avec une zone de liste, mais
c'est plus laborieux. Et j'ai un autre problème.
Avec seulement quatre cartes de pays, je pèse
déjà 480 Ko, alors je n'ose pas imaginer mon poids
quand tous les pays du monde auront leur carte !!!
Private Sub ListBox1_Change()
ind = ListBox1.ListIndex + 1
Select Case ind
Case 1
Call AAutriche
Case 2
Call ABelgique
Case 3
Call AEspagne
Case 4
Call AFrance
End Select
End Sub
Serge
"Vincent." a écrit dans le message de
news: dfcc01c3efdc$de556d90$
Salut !
Apparemment, tout marche bien dès que tu enlèves le Call.
Pourquoi... aucune idée ! (enfin, presque aucune ;-o )
A+
V.-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
Bonjour Garnote,
La suggestion faite par Vincent fonctionne très bien.
attention :
A ) Attention au Mot "private" dans la déclaration de la procédure. Ce mot
limite l'appel de cette procédure par une autre
procédure située dans le même module
B ) où tes macros ont-elles été enregistré ?
Si tu es dans un module standard et que tu veuilles appeler une macro
écrite dans le module de la feuille1, tu dois
écrire le nom de la feuille devant le nom de la macro.
Feuil1.NomDeLaMacro
Salutations!
"garnote" <rien@absent.net> a écrit dans le message de
news:QE5Wb.30508$2g.23529@charlie.risq.qc.ca...
J'ai enlevé le Call et ça ne fonctionne pas plus :-(
Je peux y arriver avec une zone de liste, mais
c'est plus laborieux. Et j'ai un autre problème.
Avec seulement quatre cartes de pays, je pèse
déjà 480 Ko, alors je n'ose pas imaginer mon poids
quand tous les pays du monde auront leur carte !!!
Private Sub ListBox1_Change()
ind = ListBox1.ListIndex + 1
Select Case ind
Case 1
Call AAutriche
Case 2
Call ABelgique
Case 3
Call AEspagne
Case 4
Call AFrance
End Select
End Sub
Serge
"Vincent." <vincent.N0SP@MfallasATfr.pwc.com> a écrit dans le message de
news: dfcc01c3efdc$de556d90$a601280a@phx.gbl...
Salut !
Apparemment, tout marche bien dès que tu enlèves le Call.
Pourquoi... aucune idée ! (enfin, presque aucune ;-o )
A+
V.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
Bonjour Garnote,
La suggestion faite par Vincent fonctionne très bien.
attention :
A ) Attention au Mot "private" dans la déclaration de la procédure. Ce mot
limite l'appel de cette procédure par une autre
procédure située dans le même module
B ) où tes macros ont-elles été enregistré ?
Si tu es dans un module standard et que tu veuilles appeler une macro
écrite dans le module de la feuille1, tu dois
écrire le nom de la feuille devant le nom de la macro.
Feuil1.NomDeLaMacro
Salutations!
"garnote" a écrit dans le message de
news:QE5Wb.30508$
J'ai enlevé le Call et ça ne fonctionne pas plus :-(
Je peux y arriver avec une zone de liste, mais
c'est plus laborieux. Et j'ai un autre problème.
Avec seulement quatre cartes de pays, je pèse
déjà 480 Ko, alors je n'ose pas imaginer mon poids
quand tous les pays du monde auront leur carte !!!
Private Sub ListBox1_Change()
ind = ListBox1.ListIndex + 1
Select Case ind
Case 1
Call AAutriche
Case 2
Call ABelgique
Case 3
Call AEspagne
Case 4
Call AFrance
End Select
End Sub
Serge
"Vincent." a écrit dans le message de
news: dfcc01c3efdc$de556d90$
Salut !
Apparemment, tout marche bien dès que tu enlèves le Call.
Pourquoi... aucune idée ! (enfin, presque aucune ;-o )
A+
V.-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
Bonjour Garnote,
La suggestion faite par Vincent fonctionne très bien.
attention :
A ) Attention au Mot "private" dans la déclaration de la procédure. Ce mot
limite l'appel de cette procédure par une autre
procédure située dans le même module
B ) où tes macros ont-elles été enregistré ?
Si tu es dans un module standard et que tu veuilles appeler une macro
écrite dans le module de la feuille1, tu dois
écrire le nom de la feuille devant le nom de la macro.
Feuil1.NomDeLaMacro
Salutations!
"garnote" a écrit dans le message de
news:QE5Wb.30508$
J'ai enlevé le Call et ça ne fonctionne pas plus :-(
Je peux y arriver avec une zone de liste, mais
c'est plus laborieux. Et j'ai un autre problème.
Avec seulement quatre cartes de pays, je pèse
déjà 480 Ko, alors je n'ose pas imaginer mon poids
quand tous les pays du monde auront leur carte !!!
Private Sub ListBox1_Change()
ind = ListBox1.ListIndex + 1
Select Case ind
Case 1
Call AAutriche
Case 2
Call ABelgique
Case 3
Call AEspagne
Case 4
Call AFrance
End Select
End Sub
Serge
"Vincent." a écrit dans le message de
news: dfcc01c3efdc$de556d90$
Salut !
Apparemment, tout marche bien dès que tu enlèves le Call.
Pourquoi... aucune idée ! (enfin, presque aucune ;-o )
A+
V.-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
Bonjour Garnote,
La suggestion faite par Vincent fonctionne très bien.
attention :
A ) Attention au Mot "private" dans la déclaration de la procédure. Ce mot
limite l'appel de cette procédure par une autre
procédure située dans le même module
B ) où tes macros ont-elles été enregistré ?
Si tu es dans un module standard et que tu veuilles appeler une macro
écrite dans le module de la feuille1, tu dois
écrire le nom de la feuille devant le nom de la macro.
Feuil1.NomDeLaMacro
Salutations!
"garnote" <rien@absent.net> a écrit dans le message de
news:QE5Wb.30508$2g.23529@charlie.risq.qc.ca...
J'ai enlevé le Call et ça ne fonctionne pas plus :-(
Je peux y arriver avec une zone de liste, mais
c'est plus laborieux. Et j'ai un autre problème.
Avec seulement quatre cartes de pays, je pèse
déjà 480 Ko, alors je n'ose pas imaginer mon poids
quand tous les pays du monde auront leur carte !!!
Private Sub ListBox1_Change()
ind = ListBox1.ListIndex + 1
Select Case ind
Case 1
Call AAutriche
Case 2
Call ABelgique
Case 3
Call AEspagne
Case 4
Call AFrance
End Select
End Sub
Serge
"Vincent." <vincent.N0SP@MfallasATfr.pwc.com> a écrit dans le message de
news: dfcc01c3efdc$de556d90$a601280a@phx.gbl...
Salut !
Apparemment, tout marche bien dès que tu enlèves le Call.
Pourquoi... aucune idée ! (enfin, presque aucune ;-o )
A+
V.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
Bonjour Garnote,
La suggestion faite par Vincent fonctionne très bien.
attention :
A ) Attention au Mot "private" dans la déclaration de la procédure. Ce mot
limite l'appel de cette procédure par une autre
procédure située dans le même module
B ) où tes macros ont-elles été enregistré ?
Si tu es dans un module standard et que tu veuilles appeler une macro
écrite dans le module de la feuille1, tu dois
écrire le nom de la feuille devant le nom de la macro.
Feuil1.NomDeLaMacro
Salutations!
"garnote" a écrit dans le message de
news:QE5Wb.30508$
J'ai enlevé le Call et ça ne fonctionne pas plus :-(
Je peux y arriver avec une zone de liste, mais
c'est plus laborieux. Et j'ai un autre problème.
Avec seulement quatre cartes de pays, je pèse
déjà 480 Ko, alors je n'ose pas imaginer mon poids
quand tous les pays du monde auront leur carte !!!
Private Sub ListBox1_Change()
ind = ListBox1.ListIndex + 1
Select Case ind
Case 1
Call AAutriche
Case 2
Call ABelgique
Case 3
Call AEspagne
Case 4
Call AFrance
End Select
End Sub
Serge
"Vincent." a écrit dans le message de
news: dfcc01c3efdc$de556d90$
Salut !
Apparemment, tout marche bien dès que tu enlèves le Call.
Pourquoi... aucune idée ! (enfin, presque aucune ;-o )
A+
V.-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
-----Message d'origine-----
Bonjour Garnote,
Je crois que tu peux résoudre ton problème en utilisant :
Application.Run nom
Salutations!
"garnote" a écrit dans le message de
news:w76Wb.30535$
Voici le contexte :
Dans un module de feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
'Call nom ne fonctionne pas
'Call AAutriche ou Call ABelgique ... fonctionne
End If
End Sub
Dans un module Standard :
Sub AAutriche()
ActiveSheet.Shapes("Autriche").ZOrder msoBringToFront
End Sub
Sub ABelgique()
ActiveSheet.Shapes("Belgique").ZOrder msoBringToFront
End Sub
Sub AEspagne()
ActiveSheet.Shapes("Espagne").ZOrder msoBringToFront
End Sub
Sub AFrance()
ActiveSheet.Shapes("France").ZOrder msoBringToFront
End Sub
"michdenis" a écrit dans le
message de news:
eFtL7I#Bonjour Garnote,
La suggestion faite par Vincent fonctionne très bien.
attention :
A ) Attention au Mot "private" dans la déclaration de
la procédure. Ce mot
limite l'appel de cette procédure par une autreprocédure située dans le même module
B ) où tes macros ont-elles été enregistré ?
Si tu es dans un module standard et que tu veuilles
appeler une macro
écrite dans le module de la feuille1, tu doisécrire le nom de la feuille devant le nom de la macro.
Feuil1.NomDeLaMacro
Salutations!
"garnote" a écrit dans le message de
news:QE5Wb.30508$J'ai enlevé le Call et ça ne fonctionne pas plus :-(
Je peux y arriver avec une zone de liste, mais
c'est plus laborieux. Et j'ai un autre problème.
Avec seulement quatre cartes de pays, je pèse
déjà 480 Ko, alors je n'ose pas imaginer mon poids
quand tous les pays du monde auront leur carte !!!
Private Sub ListBox1_Change()
ind = ListBox1.ListIndex + 1
Select Case ind
Case 1
Call AAutriche
Case 2
Call ABelgique
Case 3
Call AEspagne
Case 4
Call AFrance
End Select
End Sub
Serge
"Vincent." a écrit
dans le message de
news: dfcc01c3efdc$de556d90$
Salut !
Apparemment, tout marche bien dès que tu enlèves le
Call.
Pourquoi... aucune idée ! (enfin, presque aucune ;-o )
A+
V.-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
.
-----Message d'origine-----
Bonjour Garnote,
Je crois que tu peux résoudre ton problème en utilisant :
Application.Run nom
Salutations!
"garnote" <rien@absent.net> a écrit dans le message de
news:w76Wb.30535$2g.7565@charlie.risq.qc.ca...
Voici le contexte :
Dans un module de feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
'Call nom ne fonctionne pas
'Call AAutriche ou Call ABelgique ... fonctionne
End If
End Sub
Dans un module Standard :
Sub AAutriche()
ActiveSheet.Shapes("Autriche").ZOrder msoBringToFront
End Sub
Sub ABelgique()
ActiveSheet.Shapes("Belgique").ZOrder msoBringToFront
End Sub
Sub AEspagne()
ActiveSheet.Shapes("Espagne").ZOrder msoBringToFront
End Sub
Sub AFrance()
ActiveSheet.Shapes("France").ZOrder msoBringToFront
End Sub
"michdenis" <michdenis@hotmail.com> a écrit dans le
message de news:
eFtL7I#7DHA.4060@tk2msftngp13.phx.gbl...
Bonjour Garnote,
La suggestion faite par Vincent fonctionne très bien.
attention :
A ) Attention au Mot "private" dans la déclaration de
la procédure. Ce mot
limite l'appel de cette procédure par une autre
procédure située dans le même module
B ) où tes macros ont-elles été enregistré ?
Si tu es dans un module standard et que tu veuilles
appeler une macro
écrite dans le module de la feuille1, tu dois
écrire le nom de la feuille devant le nom de la macro.
Feuil1.NomDeLaMacro
Salutations!
"garnote" <rien@absent.net> a écrit dans le message de
news:QE5Wb.30508$2g.23529@charlie.risq.qc.ca...
J'ai enlevé le Call et ça ne fonctionne pas plus :-(
Je peux y arriver avec une zone de liste, mais
c'est plus laborieux. Et j'ai un autre problème.
Avec seulement quatre cartes de pays, je pèse
déjà 480 Ko, alors je n'ose pas imaginer mon poids
quand tous les pays du monde auront leur carte !!!
Private Sub ListBox1_Change()
ind = ListBox1.ListIndex + 1
Select Case ind
Case 1
Call AAutriche
Case 2
Call ABelgique
Case 3
Call AEspagne
Case 4
Call AFrance
End Select
End Sub
Serge
"Vincent." <vincent.N0SP@MfallasATfr.pwc.com> a écrit
dans le message de
news: dfcc01c3efdc$de556d90$a601280a@phx.gbl...
Salut !
Apparemment, tout marche bien dès que tu enlèves le
Call.
Pourquoi... aucune idée ! (enfin, presque aucune ;-o )
A+
V.
-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
.
-----Message d'origine-----
Bonjour Garnote,
Je crois que tu peux résoudre ton problème en utilisant :
Application.Run nom
Salutations!
"garnote" a écrit dans le message de
news:w76Wb.30535$
Voici le contexte :
Dans un module de feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
'Call nom ne fonctionne pas
'Call AAutriche ou Call ABelgique ... fonctionne
End If
End Sub
Dans un module Standard :
Sub AAutriche()
ActiveSheet.Shapes("Autriche").ZOrder msoBringToFront
End Sub
Sub ABelgique()
ActiveSheet.Shapes("Belgique").ZOrder msoBringToFront
End Sub
Sub AEspagne()
ActiveSheet.Shapes("Espagne").ZOrder msoBringToFront
End Sub
Sub AFrance()
ActiveSheet.Shapes("France").ZOrder msoBringToFront
End Sub
"michdenis" a écrit dans le
message de news:
eFtL7I#Bonjour Garnote,
La suggestion faite par Vincent fonctionne très bien.
attention :
A ) Attention au Mot "private" dans la déclaration de
la procédure. Ce mot
limite l'appel de cette procédure par une autreprocédure située dans le même module
B ) où tes macros ont-elles été enregistré ?
Si tu es dans un module standard et que tu veuilles
appeler une macro
écrite dans le module de la feuille1, tu doisécrire le nom de la feuille devant le nom de la macro.
Feuil1.NomDeLaMacro
Salutations!
"garnote" a écrit dans le message de
news:QE5Wb.30508$J'ai enlevé le Call et ça ne fonctionne pas plus :-(
Je peux y arriver avec une zone de liste, mais
c'est plus laborieux. Et j'ai un autre problème.
Avec seulement quatre cartes de pays, je pèse
déjà 480 Ko, alors je n'ose pas imaginer mon poids
quand tous les pays du monde auront leur carte !!!
Private Sub ListBox1_Change()
ind = ListBox1.ListIndex + 1
Select Case ind
Case 1
Call AAutriche
Case 2
Call ABelgique
Case 3
Call AEspagne
Case 4
Call AFrance
End Select
End Sub
Serge
"Vincent." a écrit
dans le message de
news: dfcc01c3efdc$de556d90$
Salut !
Apparemment, tout marche bien dès que tu enlèves le
Call.
Pourquoi... aucune idée ! (enfin, presque aucune ;-o )
A+
V.-----Message d'origine-----
Bonjour le monde,
La cellule E12 contient la liste :
Autriche
Belgique
France
J'ai aussi trois macros nommées :
AAutriche
ABelgique
AFrance
Je tente alors d'appeler une de ces macros
de la façon suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$12" Then
nom = "A" & Target
Call nom
End If
End Sub
mais ça ne fonctionne pas :-(
Comment contourner cet affreux dilemme ?
Serge
.
.