récupérer une valeur d'une cellule par rapport à postion d'un bouton...
4 réponses
Michel
Bonsoir à toutes et tous
Je v'ai essayer d'être précis et simple.
J'ai positionné des petits ronds pour faire
office de boutons sur une feuille. quand je
clique sur un rond, il lance une macro bien
précise qui renvoi une valeur. Cette fameuse
valeur je voudrai que la macro l'a récupére elle
même dans la cellule qui est précisément en
dessous d'elle au lieu que je l'écrive
manuellement dans la macro, comme cela si ma
liste change, le bouton lui lancera la macro en
récupérant la valeur qui est dans la cellule en
arrière plan.
est ce possible ? et comment ??? merci d'avance.
un petit bout du code qui me sert actuellement..
sur ma feuille actuelle, j'ai de rond1 à rond18
Sub rond11_quandclic()
ronds_quandclic (11)
End Sub
'-----------------
Sub rond12_quandclic()
ronds_quandclic (12)
End Sub
'-----------------
Sub rond13_quandclic()
ronds_quandclic (13)
End Sub
'-----------------
Sub rond14_quandclic()
ronds_quandclic (14)
End Sub
'-----------------
Sub ronds_quandclic(mavar As Integer)
If mavar = 11 Then rond = "dep" 'je voudrai
que rond récupére la valeur de la cellule J30 qui
contient ce fameux "rin" comme cela si je change
la valeur de J30, rond sera égal à son contenu.
If mavar = 12 Then rond = "dex" ' égal valeur
de J31
If mavar = 13 Then rond = "fin" 'égal
valeur de J32
If mavar = 14 Then rond = "fox" 'etc...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Michel,
Comme je n'ai pas vraiment tout compris de que tu voulais faire, essaie de comprendre ce que j'ai compris et pourquoi je te suggère ceci :
Tu attaches cette macro (la même) à chacun de tes boutons ronds
'---------------------------------- Sub UnClicSurLeRond()
Dim Adr As String, SonNom As String
SonNom = Application.Caller With ActiveSheet.Shapes(SonNom).OLEFormat.Object Adr = .TopLeftCell.Address End With With Worksheets("Feuil1") Select Case Right(SonNom, 2) Case 11 .Range(Adr) = .Range("j30") Case 12 .Range(Adr) = .Range("j31") Case 13 .Range(Adr) = .Range("j32") Case 14 .Range(Adr) = .Range("j33") End Select End With
Set Sh = Nothing
End Sub '----------------------------------
Salutations!
"Michel" a écrit dans le message de news: Bonsoir à toutes et tous Je v'ai essayer d'être précis et simple.
J'ai positionné des petits ronds pour faire office de boutons sur une feuille. quand je clique sur un rond, il lance une macro bien précise qui renvoi une valeur. Cette fameuse valeur je voudrai que la macro l'a récupére elle même dans la cellule qui est précisément en dessous d'elle au lieu que je l'écrive manuellement dans la macro, comme cela si ma liste change, le bouton lui lancera la macro en récupérant la valeur qui est dans la cellule en arrière plan.
est ce possible ? et comment ??? merci d'avance.
un petit bout du code qui me sert actuellement.. sur ma feuille actuelle, j'ai de rond1 à rond18
Sub rond11_quandclic() ronds_quandclic (11) End Sub '----------------- Sub rond12_quandclic() ronds_quandclic (12) End Sub '----------------- Sub rond13_quandclic() ronds_quandclic (13) End Sub '----------------- Sub rond14_quandclic() ronds_quandclic (14) End Sub '----------------- Sub ronds_quandclic(mavar As Integer) If mavar = 11 Then rond = "dep" 'je voudrai que rond récupére la valeur de la cellule J30 qui contient ce fameux "rin" comme cela si je change la valeur de J30, rond sera égal à son contenu. If mavar = 12 Then rond = "dex" ' égal valeur de J31 If mavar = 13 Then rond = "fin" 'égal valeur de J32 If mavar = 14 Then rond = "fox" 'etc...
-- Amicalement Michel . P
Bonjour Michel,
Comme je n'ai pas vraiment tout compris de que tu voulais faire, essaie de comprendre ce que j'ai compris et pourquoi je
te suggère ceci :
Tu attaches cette macro (la même) à chacun de tes boutons ronds
'----------------------------------
Sub UnClicSurLeRond()
Dim Adr As String, SonNom As String
SonNom = Application.Caller
With ActiveSheet.Shapes(SonNom).OLEFormat.Object
Adr = .TopLeftCell.Address
End With
With Worksheets("Feuil1")
Select Case Right(SonNom, 2)
Case 11
.Range(Adr) = .Range("j30")
Case 12
.Range(Adr) = .Range("j31")
Case 13
.Range(Adr) = .Range("j32")
Case 14
.Range(Adr) = .Range("j33")
End Select
End With
Set Sh = Nothing
End Sub
'----------------------------------
Salutations!
"Michel" <prive.ma-boite_sans_spam@laposte.net> a écrit dans le message de news:mn.3cd97d472f7fd67a.11921@laposte.net...
Bonsoir à toutes et tous
Je v'ai essayer d'être précis et simple.
J'ai positionné des petits ronds pour faire
office de boutons sur une feuille. quand je
clique sur un rond, il lance une macro bien
précise qui renvoi une valeur. Cette fameuse
valeur je voudrai que la macro l'a récupére elle
même dans la cellule qui est précisément en
dessous d'elle au lieu que je l'écrive
manuellement dans la macro, comme cela si ma
liste change, le bouton lui lancera la macro en
récupérant la valeur qui est dans la cellule en
arrière plan.
est ce possible ? et comment ??? merci d'avance.
un petit bout du code qui me sert actuellement..
sur ma feuille actuelle, j'ai de rond1 à rond18
Sub rond11_quandclic()
ronds_quandclic (11)
End Sub
'-----------------
Sub rond12_quandclic()
ronds_quandclic (12)
End Sub
'-----------------
Sub rond13_quandclic()
ronds_quandclic (13)
End Sub
'-----------------
Sub rond14_quandclic()
ronds_quandclic (14)
End Sub
'-----------------
Sub ronds_quandclic(mavar As Integer)
If mavar = 11 Then rond = "dep" 'je voudrai
que rond récupére la valeur de la cellule J30 qui
contient ce fameux "rin" comme cela si je change
la valeur de J30, rond sera égal à son contenu.
If mavar = 12 Then rond = "dex" ' égal valeur
de J31
If mavar = 13 Then rond = "fin" 'égal
valeur de J32
If mavar = 14 Then rond = "fox" 'etc...
Comme je n'ai pas vraiment tout compris de que tu voulais faire, essaie de comprendre ce que j'ai compris et pourquoi je te suggère ceci :
Tu attaches cette macro (la même) à chacun de tes boutons ronds
'---------------------------------- Sub UnClicSurLeRond()
Dim Adr As String, SonNom As String
SonNom = Application.Caller With ActiveSheet.Shapes(SonNom).OLEFormat.Object Adr = .TopLeftCell.Address End With With Worksheets("Feuil1") Select Case Right(SonNom, 2) Case 11 .Range(Adr) = .Range("j30") Case 12 .Range(Adr) = .Range("j31") Case 13 .Range(Adr) = .Range("j32") Case 14 .Range(Adr) = .Range("j33") End Select End With
Set Sh = Nothing
End Sub '----------------------------------
Salutations!
"Michel" a écrit dans le message de news: Bonsoir à toutes et tous Je v'ai essayer d'être précis et simple.
J'ai positionné des petits ronds pour faire office de boutons sur une feuille. quand je clique sur un rond, il lance une macro bien précise qui renvoi une valeur. Cette fameuse valeur je voudrai que la macro l'a récupére elle même dans la cellule qui est précisément en dessous d'elle au lieu que je l'écrive manuellement dans la macro, comme cela si ma liste change, le bouton lui lancera la macro en récupérant la valeur qui est dans la cellule en arrière plan.
est ce possible ? et comment ??? merci d'avance.
un petit bout du code qui me sert actuellement.. sur ma feuille actuelle, j'ai de rond1 à rond18
Sub rond11_quandclic() ronds_quandclic (11) End Sub '----------------- Sub rond12_quandclic() ronds_quandclic (12) End Sub '----------------- Sub rond13_quandclic() ronds_quandclic (13) End Sub '----------------- Sub rond14_quandclic() ronds_quandclic (14) End Sub '----------------- Sub ronds_quandclic(mavar As Integer) If mavar = 11 Then rond = "dep" 'je voudrai que rond récupére la valeur de la cellule J30 qui contient ce fameux "rin" comme cela si je change la valeur de J30, rond sera égal à son contenu. If mavar = 12 Then rond = "dex" ' égal valeur de J31 If mavar = 13 Then rond = "fin" 'égal valeur de J32 If mavar = 14 Then rond = "fox" 'etc...
-- Amicalement Michel . P
garnote
Salut Michel,
Si ton cercle est tout entier dans ta cellule et que cette cellule contient un nombre, alors tu peux le récupérer de la façon suivante. Il te suffit d'associer à chacun de tes cercles cette macro :
Sub Valeur_Sous_Cercle() Dim cercle As String cercle = Application.Caller v = ActiveSheet.Shapes(cercle).TopLeftCell End Sub
Ai-je bien compris ?
Serge
"Michel" a écrit dans le message de news:
Bonsoir à toutes et tous Je v'ai essayer d'être précis et simple.
J'ai positionné des petits ronds pour faire office de boutons sur une feuille. quand je clique sur un rond, il lance une macro bien précise qui renvoi une valeur. Cette fameuse valeur je voudrai que la macro l'a récupére elle même dans la cellule qui est précisément en dessous d'elle au lieu que je l'écrive manuellement dans la macro, comme cela si ma liste change, le bouton lui lancera la macro en récupérant la valeur qui est dans la cellule en arrière plan.
est ce possible ? et comment ??? merci d'avance.
un petit bout du code qui me sert actuellement.. sur ma feuille actuelle, j'ai de rond1 à rond18
Sub rond11_quandclic() ronds_quandclic (11) End Sub '----------------- Sub rond12_quandclic() ronds_quandclic (12) End Sub '----------------- Sub rond13_quandclic() ronds_quandclic (13) End Sub '----------------- Sub rond14_quandclic() ronds_quandclic (14) End Sub '----------------- Sub ronds_quandclic(mavar As Integer) If mavar = 11 Then rond = "dep" 'je voudrai que rond récupére la valeur de la cellule J30 qui contient ce fameux "rin" comme cela si je change la valeur de J30, rond sera égal à son contenu. If mavar = 12 Then rond = "dex" ' égal valeur de J31 If mavar = 13 Then rond = "fin" 'égal valeur de J32 If mavar = 14 Then rond = "fox" 'etc...
-- Amicalement Michel . P
Salut Michel,
Si ton cercle est tout entier dans ta cellule et que
cette cellule contient un nombre, alors tu peux le récupérer
de la façon suivante.
Il te suffit d'associer à chacun de tes cercles cette macro :
Sub Valeur_Sous_Cercle()
Dim cercle As String
cercle = Application.Caller
v = ActiveSheet.Shapes(cercle).TopLeftCell
End Sub
Ai-je bien compris ?
Serge
"Michel" <prive.ma-boite_sans_spam@laposte.net> a écrit dans le message de
news: mn.3cd97d472f7fd67a.11921@laposte.net...
Bonsoir à toutes et tous
Je v'ai essayer d'être précis et simple.
J'ai positionné des petits ronds pour faire
office de boutons sur une feuille. quand je
clique sur un rond, il lance une macro bien
précise qui renvoi une valeur. Cette fameuse
valeur je voudrai que la macro l'a récupére elle
même dans la cellule qui est précisément en
dessous d'elle au lieu que je l'écrive
manuellement dans la macro, comme cela si ma
liste change, le bouton lui lancera la macro en
récupérant la valeur qui est dans la cellule en
arrière plan.
est ce possible ? et comment ??? merci d'avance.
un petit bout du code qui me sert actuellement..
sur ma feuille actuelle, j'ai de rond1 à rond18
Sub rond11_quandclic()
ronds_quandclic (11)
End Sub
'-----------------
Sub rond12_quandclic()
ronds_quandclic (12)
End Sub
'-----------------
Sub rond13_quandclic()
ronds_quandclic (13)
End Sub
'-----------------
Sub rond14_quandclic()
ronds_quandclic (14)
End Sub
'-----------------
Sub ronds_quandclic(mavar As Integer)
If mavar = 11 Then rond = "dep" 'je voudrai
que rond récupére la valeur de la cellule J30 qui
contient ce fameux "rin" comme cela si je change
la valeur de J30, rond sera égal à son contenu.
If mavar = 12 Then rond = "dex" ' égal valeur
de J31
If mavar = 13 Then rond = "fin" 'égal
valeur de J32
If mavar = 14 Then rond = "fox" 'etc...
Si ton cercle est tout entier dans ta cellule et que cette cellule contient un nombre, alors tu peux le récupérer de la façon suivante. Il te suffit d'associer à chacun de tes cercles cette macro :
Sub Valeur_Sous_Cercle() Dim cercle As String cercle = Application.Caller v = ActiveSheet.Shapes(cercle).TopLeftCell End Sub
Ai-je bien compris ?
Serge
"Michel" a écrit dans le message de news:
Bonsoir à toutes et tous Je v'ai essayer d'être précis et simple.
J'ai positionné des petits ronds pour faire office de boutons sur une feuille. quand je clique sur un rond, il lance une macro bien précise qui renvoi une valeur. Cette fameuse valeur je voudrai que la macro l'a récupére elle même dans la cellule qui est précisément en dessous d'elle au lieu que je l'écrive manuellement dans la macro, comme cela si ma liste change, le bouton lui lancera la macro en récupérant la valeur qui est dans la cellule en arrière plan.
est ce possible ? et comment ??? merci d'avance.
un petit bout du code qui me sert actuellement.. sur ma feuille actuelle, j'ai de rond1 à rond18
Sub rond11_quandclic() ronds_quandclic (11) End Sub '----------------- Sub rond12_quandclic() ronds_quandclic (12) End Sub '----------------- Sub rond13_quandclic() ronds_quandclic (13) End Sub '----------------- Sub rond14_quandclic() ronds_quandclic (14) End Sub '----------------- Sub ronds_quandclic(mavar As Integer) If mavar = 11 Then rond = "dep" 'je voudrai que rond récupére la valeur de la cellule J30 qui contient ce fameux "rin" comme cela si je change la valeur de J30, rond sera égal à son contenu. If mavar = 12 Then rond = "dex" ' égal valeur de J31 If mavar = 13 Then rond = "fin" 'égal valeur de J32 If mavar = 14 Then rond = "fox" 'etc...
-- Amicalement Michel . P
Michel
Oui Serge tu as bien compris, le résultat est parfait, la valeur de la cellule est bien récupérée comme je le voulais. merci et bonne soirée
-- Amicalement Michel . P
Oui Serge tu as bien compris, le résultat est
parfait, la valeur de la cellule est bien
récupérée comme je le voulais.
merci et bonne soirée
Oui Serge tu as bien compris, le résultat est parfait, la valeur de la cellule est bien récupérée comme je le voulais. merci et bonne soirée
-- Amicalement Michel . P
Michel
Bonsoir Michdenis, je pense que tu as bien compris et je décortique ta réponse pour l'adapter. Merci d'avoir fait fumer ton clavier pour moi et bonne soirée.
-- Amicalement Michel . P
Bonsoir Michdenis, je pense que tu as bien
compris et je décortique ta réponse pour
l'adapter.
Merci d'avoir fait fumer ton clavier pour moi et
bonne soirée.
Bonsoir Michdenis, je pense que tu as bien compris et je décortique ta réponse pour l'adapter. Merci d'avoir fait fumer ton clavier pour moi et bonne soirée.