2. michdenis 26 août 20:42 afficher les options
Groupes de discussion : microsoft.public.fr.excel
De : "michdenis" - Rechercher les messages de cet auteur
Date : Fri, 26 Aug 2005 14:42:38 -0400
Local : Ven 26 août 2005 20:42
Objet : Re: comment connaitre le nom de la liste déroulante qui a appelé la macro?
Répondre | Répondre à l'auteur | Transférer | Imprimer | Message individuel | Afficher l'original | Signaler un cas d'utilisation abusive
Bonjour Laurent,
Comme tu ne donnes pas de détails... je suppose que tu veux le faire par toi-même !
Si A1 a une liste de validatation, Adr contient l'adresse de la cellule
Adr = Range("A1").Validation.Parent.Address
B contient =Maliste si MaListe est une plage de données
auquel réfère la liste de validation en A1
B = Range("A1").Validation.Formula1
Pour ce qui est du reste, tu dois avoir ta petite idée !
Salutations!
bonjour
j'ai 42 listes déroulantes qui appellent des macros identiques
donc, je ne veux pas faire 42 macros mais une qui s'adapterait à
chacune des listes déroulantes
dans la macro, je veux le nom de la liste déroulante qui l'a appelée..
comment faire?
c'est dans controlformat?
merci
2. michdenis 26 août 20:42 afficher les options
Groupes de discussion : microsoft.public.fr.excel
De : "michdenis" <michde...@hotmail.com> - Rechercher les messages de cet auteur
Date : Fri, 26 Aug 2005 14:42:38 -0400
Local : Ven 26 août 2005 20:42
Objet : Re: comment connaitre le nom de la liste déroulante qui a appelé la macro?
Répondre | Répondre à l'auteur | Transférer | Imprimer | Message individuel | Afficher l'original | Signaler un cas d'utilisation abusive
Bonjour Laurent,
Comme tu ne donnes pas de détails... je suppose que tu veux le faire par toi-même !
Si A1 a une liste de validatation, Adr contient l'adresse de la cellule
Adr = Range("A1").Validation.Parent.Address
B contient =Maliste si MaListe est une plage de données
auquel réfère la liste de validation en A1
B = Range("A1").Validation.Formula1
Pour ce qui est du reste, tu dois avoir ta petite idée !
Salutations!
bonjour
j'ai 42 listes déroulantes qui appellent des macros identiques
donc, je ne veux pas faire 42 macros mais une qui s'adapterait à
chacune des listes déroulantes
dans la macro, je veux le nom de la liste déroulante qui l'a appelée..
comment faire?
c'est dans controlformat?
merci
2. michdenis 26 août 20:42 afficher les options
Groupes de discussion : microsoft.public.fr.excel
De : "michdenis" - Rechercher les messages de cet auteur
Date : Fri, 26 Aug 2005 14:42:38 -0400
Local : Ven 26 août 2005 20:42
Objet : Re: comment connaitre le nom de la liste déroulante qui a appelé la macro?
Répondre | Répondre à l'auteur | Transférer | Imprimer | Message individuel | Afficher l'original | Signaler un cas d'utilisation abusive
Bonjour Laurent,
Comme tu ne donnes pas de détails... je suppose que tu veux le faire par toi-même !
Si A1 a une liste de validatation, Adr contient l'adresse de la cellule
Adr = Range("A1").Validation.Parent.Address
B contient =Maliste si MaListe est une plage de données
auquel réfère la liste de validation en A1
B = Range("A1").Validation.Formula1
Pour ce qui est du reste, tu dois avoir ta petite idée !
Salutations!
bonjour
j'ai 42 listes déroulantes qui appellent des macros identiques
donc, je ne veux pas faire 42 macros mais une qui s'adapterait à
chacune des listes déroulantes
dans la macro, je veux le nom de la liste déroulante qui l'a appelée..
comment faire?
c'est dans controlformat?
merci
2. michdenis 26 août 20:42 afficher les options
Groupes de discussion : microsoft.public.fr.excel
De : "michdenis" - Rechercher les messages de cet auteur
Date : Fri, 26 Aug 2005 14:42:38 -0400
Local : Ven 26 août 2005 20:42
Objet : Re: comment connaitre le nom de la liste déroulante qui a appelé la macro?
Répondre | Répondre à l'auteur | Transférer | Imprimer | Message individuel | Afficher l'original | Signaler un cas d'utilisation
abusive
Bonjour Laurent,
Comme tu ne donnes pas de détails... je suppose que tu veux le faire par toi-même !
Si A1 a une liste de validatation, Adr contient l'adresse de la cellule
Adr = Range("A1").Validation.Parent.Address
B contient =Maliste si MaListe est une plage de données
auquel réfère la liste de validation en A1
B = Range("A1").Validation.Formula1
Pour ce qui est du reste, tu dois avoir ta petite idée !
Salutations!
bonjour
j'ai 42 listes déroulantes qui appellent des macros identiques
donc, je ne veux pas faire 42 macros mais une qui s'adapterait à
chacune des listes déroulantes
dans la macro, je veux le nom de la liste déroulante qui l'a appelée..
comment faire?
c'est dans controlformat?
merci
2. michdenis 26 août 20:42 afficher les options
Groupes de discussion : microsoft.public.fr.excel
De : "michdenis" <michde...@hotmail.com> - Rechercher les messages de cet auteur
Date : Fri, 26 Aug 2005 14:42:38 -0400
Local : Ven 26 août 2005 20:42
Objet : Re: comment connaitre le nom de la liste déroulante qui a appelé la macro?
Répondre | Répondre à l'auteur | Transférer | Imprimer | Message individuel | Afficher l'original | Signaler un cas d'utilisation
abusive
Bonjour Laurent,
Comme tu ne donnes pas de détails... je suppose que tu veux le faire par toi-même !
Si A1 a une liste de validatation, Adr contient l'adresse de la cellule
Adr = Range("A1").Validation.Parent.Address
B contient =Maliste si MaListe est une plage de données
auquel réfère la liste de validation en A1
B = Range("A1").Validation.Formula1
Pour ce qui est du reste, tu dois avoir ta petite idée !
Salutations!
bonjour
j'ai 42 listes déroulantes qui appellent des macros identiques
donc, je ne veux pas faire 42 macros mais une qui s'adapterait à
chacune des listes déroulantes
dans la macro, je veux le nom de la liste déroulante qui l'a appelée..
comment faire?
c'est dans controlformat?
merci
2. michdenis 26 août 20:42 afficher les options
Groupes de discussion : microsoft.public.fr.excel
De : "michdenis" - Rechercher les messages de cet auteur
Date : Fri, 26 Aug 2005 14:42:38 -0400
Local : Ven 26 août 2005 20:42
Objet : Re: comment connaitre le nom de la liste déroulante qui a appelé la macro?
Répondre | Répondre à l'auteur | Transférer | Imprimer | Message individuel | Afficher l'original | Signaler un cas d'utilisation
abusive
Bonjour Laurent,
Comme tu ne donnes pas de détails... je suppose que tu veux le faire par toi-même !
Si A1 a une liste de validatation, Adr contient l'adresse de la cellule
Adr = Range("A1").Validation.Parent.Address
B contient =Maliste si MaListe est une plage de données
auquel réfère la liste de validation en A1
B = Range("A1").Validation.Formula1
Pour ce qui est du reste, tu dois avoir ta petite idée !
Salutations!
bonjour
j'ai 42 listes déroulantes qui appellent des macros identiques
donc, je ne veux pas faire 42 macros mais une qui s'adapterait à
chacune des listes déroulantes
dans la macro, je veux le nom de la liste déroulante qui l'a appelée..
comment faire?
c'est dans controlformat?
merci
Bonjour Laurent,
comme ta question se précise, tu pourrais essayer ceci :
Dans le module feuille où se retrouve lesdites cellules :
'-------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim A As Variant
On Error Resume Next
With Target.Validation
A = .InCellDropdown
If Err <> 0 Then
On Error GoTo 0
Exit Sub
Else
Call MaSub(Target)
End If
End With
End Sub
'-------------------------------------
Sub MaSub(Rg As Range)
'Le traitement que tu désires !
Dim Plg As String
With Rg
With .Validation
Plg = Right(.Formula1, Len(.Formula1) - 1)
MsgBox "adresse de la liste déroulante : " & Range(Plg).Name
End If
End With
End Sub
'-------------------------------------
Bonjour Laurent,
comme ta question se précise, tu pourrais essayer ceci :
Dans le module feuille où se retrouve lesdites cellules :
'-------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim A As Variant
On Error Resume Next
With Target.Validation
A = .InCellDropdown
If Err <> 0 Then
On Error GoTo 0
Exit Sub
Else
Call MaSub(Target)
End If
End With
End Sub
'-------------------------------------
Sub MaSub(Rg As Range)
'Le traitement que tu désires !
Dim Plg As String
With Rg
With .Validation
Plg = Right(.Formula1, Len(.Formula1) - 1)
MsgBox "adresse de la liste déroulante : " & Range(Plg).Name
End If
End With
End Sub
'-------------------------------------
Bonjour Laurent,
comme ta question se précise, tu pourrais essayer ceci :
Dans le module feuille où se retrouve lesdites cellules :
'-------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim A As Variant
On Error Resume Next
With Target.Validation
A = .InCellDropdown
If Err <> 0 Then
On Error GoTo 0
Exit Sub
Else
Call MaSub(Target)
End If
End With
End Sub
'-------------------------------------
Sub MaSub(Rg As Range)
'Le traitement que tu désires !
Dim Plg As String
With Rg
With .Validation
Plg = Right(.Formula1, Len(.Formula1) - 1)
MsgBox "adresse de la liste déroulante : " & Range(Plg).Name
End If
End With
End Sub
'-------------------------------------
Bonjour Laurent,
comme ta question se précise, tu pourrais essayer ceci :
Dans le module feuille où se retrouve lesdites cellules :
'-------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim A As Variant
On Error Resume Next
With Target.Validation
A = .InCellDropdown
If Err <> 0 Then
On Error GoTo 0
Exit Sub
Else
Call MaSub(Target)
End If
End With
End Sub
'-------------------------------------
Sub MaSub(Rg As Range)
'Le traitement que tu désires !
Dim Plg As String
With Rg
With .Validation
Plg = Right(.Formula1, Len(.Formula1) - 1)
MsgBox "adresse de la liste déroulante : " & Range(Plg).Name
End If
End With
End Sub
'-------------------------------------
Bonjour Laurent,
comme ta question se précise, tu pourrais essayer ceci :
Dans le module feuille où se retrouve lesdites cellules :
'-------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim A As Variant
On Error Resume Next
With Target.Validation
A = .InCellDropdown
If Err <> 0 Then
On Error GoTo 0
Exit Sub
Else
Call MaSub(Target)
End If
End With
End Sub
'-------------------------------------
Sub MaSub(Rg As Range)
'Le traitement que tu désires !
Dim Plg As String
With Rg
With .Validation
Plg = Right(.Formula1, Len(.Formula1) - 1)
MsgBox "adresse de la liste déroulante : " & Range(Plg).Name
End If
End With
End Sub
'-------------------------------------
Bonjour Laurent,
comme ta question se précise, tu pourrais essayer ceci :
Dans le module feuille où se retrouve lesdites cellules :
'-------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim A As Variant
On Error Resume Next
With Target.Validation
A = .InCellDropdown
If Err <> 0 Then
On Error GoTo 0
Exit Sub
Else
Call MaSub(Target)
End If
End With
End Sub
'-------------------------------------
Sub MaSub(Rg As Range)
'Le traitement que tu désires !
Dim Plg As String
With Rg
With .Validation
Plg = Right(.Formula1, Len(.Formula1) - 1)
MsgBox "adresse de la liste déroulante : " & Range(Plg).Name
End If
End With
End Sub
'-------------------------------------
As-tu seulement copiée le code dans ton module feuille ou tu as des cellules de validatation
????????????????????????????????????????
Qu'est-ce qui se passe lorsque tu cliques dans une cellule qui a une liste de validation versus une cellule qui n'en a pas ?
L'as-tu testé ? Si tu exécutes le code pas à pas à l'aide en mettant un point d'arrêt sur la première ligne de code, tu devrais
avoir un début de réponse à ta question.
Ce que tu veux faire n'est pas défini dans ta question, faut quand même pas demander au répondeur de deviner tes intentions !
Merci pour ta réponse rapide...
Excuse moi, je dois être complètement bouché ou débile mais je ne
comprends rien à ta solution...
1) quelle macro est appelée par la liste déroulante?
Worksheet_SelectionChange ? dans ce cas, quel paramètre je lui donne
et comment? Target ça correspond à quoi? et d'ailleurs est ce
possible d'attribuer une fonction privée avec paramètre à une liste
déroulante?
2) Que font en gros ces macros? MaSub récupère la formule dans la
cellule qu'on lui met en paramètre, j'imagine mais l'autre, je vois
pas... la variable err, d'ou vient elle? à quoi sert elle?
.InCellDropdown , ça sert à quoi? ça fait quoi?
je te rappelle que je ne connais pas la cellule où se trouve la liste
déroulante utilisée vu qu'il y en a 42 et que je ne sais pas celle qui
est appelée.
actuellement le programme marche avec mes 42 macros portant un nom
différent pour chaque liste mais ça rame et en plus c'est pas
élégant..
je voudrais un moyen de fusionner ces 42 en 1 seule mais il me faut
avoir un élément de la liste qui a appelé la macro au moins ...
aie aie.. je sens que ce n'est pas simple.
merci pour ta patience !
As-tu seulement copiée le code dans ton module feuille ou tu as des cellules de validatation
????????????????????????????????????????
Qu'est-ce qui se passe lorsque tu cliques dans une cellule qui a une liste de validation versus une cellule qui n'en a pas ?
L'as-tu testé ? Si tu exécutes le code pas à pas à l'aide en mettant un point d'arrêt sur la première ligne de code, tu devrais
avoir un début de réponse à ta question.
Ce que tu veux faire n'est pas défini dans ta question, faut quand même pas demander au répondeur de deviner tes intentions !
Merci pour ta réponse rapide...
Excuse moi, je dois être complètement bouché ou débile mais je ne
comprends rien à ta solution...
1) quelle macro est appelée par la liste déroulante?
Worksheet_SelectionChange ? dans ce cas, quel paramètre je lui donne
et comment? Target ça correspond à quoi? et d'ailleurs est ce
possible d'attribuer une fonction privée avec paramètre à une liste
déroulante?
2) Que font en gros ces macros? MaSub récupère la formule dans la
cellule qu'on lui met en paramètre, j'imagine mais l'autre, je vois
pas... la variable err, d'ou vient elle? à quoi sert elle?
.InCellDropdown , ça sert à quoi? ça fait quoi?
je te rappelle que je ne connais pas la cellule où se trouve la liste
déroulante utilisée vu qu'il y en a 42 et que je ne sais pas celle qui
est appelée.
actuellement le programme marche avec mes 42 macros portant un nom
différent pour chaque liste mais ça rame et en plus c'est pas
élégant..
je voudrais un moyen de fusionner ces 42 en 1 seule mais il me faut
avoir un élément de la liste qui a appelé la macro au moins ...
aie aie.. je sens que ce n'est pas simple.
merci pour ta patience !
As-tu seulement copiée le code dans ton module feuille ou tu as des cellules de validatation
????????????????????????????????????????
Qu'est-ce qui se passe lorsque tu cliques dans une cellule qui a une liste de validation versus une cellule qui n'en a pas ?
L'as-tu testé ? Si tu exécutes le code pas à pas à l'aide en mettant un point d'arrêt sur la première ligne de code, tu devrais
avoir un début de réponse à ta question.
Ce que tu veux faire n'est pas défini dans ta question, faut quand même pas demander au répondeur de deviner tes intentions !
Merci pour ta réponse rapide...
Excuse moi, je dois être complètement bouché ou débile mais je ne
comprends rien à ta solution...
1) quelle macro est appelée par la liste déroulante?
Worksheet_SelectionChange ? dans ce cas, quel paramètre je lui donne
et comment? Target ça correspond à quoi? et d'ailleurs est ce
possible d'attribuer une fonction privée avec paramètre à une liste
déroulante?
2) Que font en gros ces macros? MaSub récupère la formule dans la
cellule qu'on lui met en paramètre, j'imagine mais l'autre, je vois
pas... la variable err, d'ou vient elle? à quoi sert elle?
.InCellDropdown , ça sert à quoi? ça fait quoi?
je te rappelle que je ne connais pas la cellule où se trouve la liste
déroulante utilisée vu qu'il y en a 42 et que je ne sais pas celle qui
est appelée.
actuellement le programme marche avec mes 42 macros portant un nom
différent pour chaque liste mais ça rame et en plus c'est pas
élégant..
je voudrais un moyen de fusionner ces 42 en 1 seule mais il me faut
avoir un élément de la liste qui a appelé la macro au moins ...
aie aie.. je sens que ce n'est pas simple.
merci pour ta patience !
As-tu seulement copiée le code dans ton module feuille ou tu as des cellules de validatation
????????????????????????????????????????
Qu'est-ce qui se passe lorsque tu cliques dans une cellule qui a une liste de validation versus une cellule qui n'en a pas ?
L'as-tu testé ? Si tu exécutes le code pas à pas à l'aide en mettant un point d'arrêt sur la première ligne de code, tu devrais
avoir un début de réponse à ta question.
Ce que tu veux faire n'est pas défini dans ta question, faut quand même pas demander au répondeur de deviner tes intentions !
Merci pour ta réponse rapide...
Excuse moi, je dois être complètement bouché ou débile mais je ne
comprends rien à ta solution...
1) quelle macro est appelée par la liste déroulante?
Worksheet_SelectionChange ? dans ce cas, quel paramètre je lui donne
et comment? Target ça correspond à quoi? et d'ailleurs est ce
possible d'attribuer une fonction privée avec paramètre à une liste
déroulante?
2) Que font en gros ces macros? MaSub récupère la formule dans la
cellule qu'on lui met en paramètre, j'imagine mais l'autre, je vois
pas... la variable err, d'ou vient elle? à quoi sert elle?
.InCellDropdown , ça sert à quoi? ça fait quoi?
je te rappelle que je ne connais pas la cellule où se trouve la liste
déroulante utilisée vu qu'il y en a 42 et que je ne sais pas celle qui
est appelée.
actuellement le programme marche avec mes 42 macros portant un nom
différent pour chaque liste mais ça rame et en plus c'est pas
élégant..
je voudrais un moyen de fusionner ces 42 en 1 seule mais il me faut
avoir un élément de la liste qui a appelé la macro au moins ...
aie aie.. je sens que ce n'est pas simple.
merci pour ta patience !
As-tu seulement copiée le code dans ton module feuille ou tu as des cellules de validatation
????????????????????????????????????????
Qu'est-ce qui se passe lorsque tu cliques dans une cellule qui a une liste de validation versus une cellule qui n'en a pas ?
L'as-tu testé ? Si tu exécutes le code pas à pas à l'aide en mettant un point d'arrêt sur la première ligne de code, tu devrais
avoir un début de réponse à ta question.
Ce que tu veux faire n'est pas défini dans ta question, faut quand même pas demander au répondeur de deviner tes intentions !
Merci pour ta réponse rapide...
Excuse moi, je dois être complètement bouché ou débile mais je ne
comprends rien à ta solution...
1) quelle macro est appelée par la liste déroulante?
Worksheet_SelectionChange ? dans ce cas, quel paramètre je lui donne
et comment? Target ça correspond à quoi? et d'ailleurs est ce
possible d'attribuer une fonction privée avec paramètre à une liste
déroulante?
2) Que font en gros ces macros? MaSub récupère la formule dans la
cellule qu'on lui met en paramètre, j'imagine mais l'autre, je vois
pas... la variable err, d'ou vient elle? à quoi sert elle?
.InCellDropdown , ça sert à quoi? ça fait quoi?
je te rappelle que je ne connais pas la cellule où se trouve la liste
déroulante utilisée vu qu'il y en a 42 et que je ne sais pas celle qui
est appelée.
actuellement le programme marche avec mes 42 macros portant un nom
différent pour chaque liste mais ça rame et en plus c'est pas
élégant..
je voudrais un moyen de fusionner ces 42 en 1 seule mais il me faut
avoir un élément de la liste qui a appelé la macro au moins ...
aie aie.. je sens que ce n'est pas simple.
merci pour ta patience !
As-tu seulement copiée le code dans ton module feuille ou tu as des cellules de validatation
????????????????????????????????????????
Qu'est-ce qui se passe lorsque tu cliques dans une cellule qui a une liste de validation versus une cellule qui n'en a pas ?
L'as-tu testé ? Si tu exécutes le code pas à pas à l'aide en mettant un point d'arrêt sur la première ligne de code, tu devrais
avoir un début de réponse à ta question.
Ce que tu veux faire n'est pas défini dans ta question, faut quand même pas demander au répondeur de deviner tes intentions !
Merci pour ta réponse rapide...
Excuse moi, je dois être complètement bouché ou débile mais je ne
comprends rien à ta solution...
1) quelle macro est appelée par la liste déroulante?
Worksheet_SelectionChange ? dans ce cas, quel paramètre je lui donne
et comment? Target ça correspond à quoi? et d'ailleurs est ce
possible d'attribuer une fonction privée avec paramètre à une liste
déroulante?
2) Que font en gros ces macros? MaSub récupère la formule dans la
cellule qu'on lui met en paramètre, j'imagine mais l'autre, je vois
pas... la variable err, d'ou vient elle? à quoi sert elle?
.InCellDropdown , ça sert à quoi? ça fait quoi?
je te rappelle que je ne connais pas la cellule où se trouve la liste
déroulante utilisée vu qu'il y en a 42 et que je ne sais pas celle qui
est appelée.
actuellement le programme marche avec mes 42 macros portant un nom
différent pour chaque liste mais ça rame et en plus c'est pas
élégant..
je voudrais un moyen de fusionner ces 42 en 1 seule mais il me faut
avoir un élément de la liste qui a appelé la macro au moins ...
aie aie.. je sens que ce n'est pas simple.
merci pour ta patience !
Pour ce qui est de l'adresse du "shape" dont tu parles, je ne saisi pas trop... on parle de liste de validation ...et ceci n'est pas
une "Shape" au sens où excel définit ce qu'est un objet "shape"
Pour ce qui est de l'adresse du "shape" dont tu parles, je ne saisi pas trop... on parle de liste de validation ...et ceci n'est pas
une "Shape" au sens où excel définit ce qu'est un objet "shape"
Pour ce qui est de l'adresse du "shape" dont tu parles, je ne saisi pas trop... on parle de liste de validation ...et ceci n'est pas
une "Shape" au sens où excel définit ce qu'est un objet "shape"
Pour ce qui est de l'adresse du "shape" dont tu parles, je ne saisi pas trop... on parle de liste de validation ...et ceci n'est
pas
une "Shape" au sens où excel définit ce qu'est un objet "shape"
Pour ce qui est de l'adresse du "shape" dont tu parles, je ne saisi pas trop... on parle de liste de validation ...et ceci n'est
pas
une "Shape" au sens où excel définit ce qu'est un objet "shape"
Pour ce qui est de l'adresse du "shape" dont tu parles, je ne saisi pas trop... on parle de liste de validation ...et ceci n'est
pas
une "Shape" au sens où excel définit ce qu'est un objet "shape"
Bonjour Laurent,
Si tes listbox ou combobox provient de la barre d'outils "Formulaire"
Tu peux ATTACHER cette macro à tous tes contrôles et tu vas n'avoir besoin que de une macro.
Dès que tu va cliquer sur un item de ta liste déroulante, la macro va s'exécuter
'---------------------------------------
Sub MacroGeneral()
Dim A As String, B As String
Dim C As String, D As String
Dim Sh As Shape
With Worksheets("Feuil1")
Set Sh = .Shapes(Application.Caller)
End With
With Sh
A = "Nom de la Shape : " & .Name
B = "Nom de la feuille : " & .Parent.Name
C = "Adresse de la cellule en haut à gauche : " & .TopLeftCell
D = "Adresse de la cellule en bas à droite : " & .BottomRightCell
End With
MsgBox "Information sur : " & vbCrLf & _
A & vbCrLf & B & vbCrLf & C & vbCrLf & D
'Le reste du code que tu veux faire
End Sub
Bonjour Laurent,
Si tes listbox ou combobox provient de la barre d'outils "Formulaire"
Tu peux ATTACHER cette macro à tous tes contrôles et tu vas n'avoir besoin que de une macro.
Dès que tu va cliquer sur un item de ta liste déroulante, la macro va s'exécuter
'---------------------------------------
Sub MacroGeneral()
Dim A As String, B As String
Dim C As String, D As String
Dim Sh As Shape
With Worksheets("Feuil1")
Set Sh = .Shapes(Application.Caller)
End With
With Sh
A = "Nom de la Shape : " & .Name
B = "Nom de la feuille : " & .Parent.Name
C = "Adresse de la cellule en haut à gauche : " & .TopLeftCell
D = "Adresse de la cellule en bas à droite : " & .BottomRightCell
End With
MsgBox "Information sur : " & vbCrLf & _
A & vbCrLf & B & vbCrLf & C & vbCrLf & D
'Le reste du code que tu veux faire
End Sub
Bonjour Laurent,
Si tes listbox ou combobox provient de la barre d'outils "Formulaire"
Tu peux ATTACHER cette macro à tous tes contrôles et tu vas n'avoir besoin que de une macro.
Dès que tu va cliquer sur un item de ta liste déroulante, la macro va s'exécuter
'---------------------------------------
Sub MacroGeneral()
Dim A As String, B As String
Dim C As String, D As String
Dim Sh As Shape
With Worksheets("Feuil1")
Set Sh = .Shapes(Application.Caller)
End With
With Sh
A = "Nom de la Shape : " & .Name
B = "Nom de la feuille : " & .Parent.Name
C = "Adresse de la cellule en haut à gauche : " & .TopLeftCell
D = "Adresse de la cellule en bas à droite : " & .BottomRightCell
End With
MsgBox "Information sur : " & vbCrLf & _
A & vbCrLf & B & vbCrLf & C & vbCrLf & D
'Le reste du code que tu veux faire
End Sub