Récupérer la ligne d'un bouton et la stocker dans une variable

  • Initiateur de la discussion Initiateur de la discussion manu
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

manu

Guest
Bonjour à tous, je me tourne de nouveau vers vous, j'ai réalisé une macro me permettant à l'aide d'un bouton, d'insérer une ligne. Le problème que je rencontre est que je souhaite l'utiliser pour plusieurs bouton, mais je n'arrive pas à trouver la ligne de code permettant de récupérer la ligne ou se trouve mon bouton pour qu'l est effet que sur celle ci. je vous laisse mon bout de code en espérant que je trouverais une réponse. Merci.

Code:

Sub Insertion()

Dim Inser As Long
Inser = Cells(Application.Rows.Count, 11).End(xlUp).Offset(1, 0).Row
Range(Cells(Inser, 1), Cells(Inser, 13)).Inser
Range(Cells(Inser, 1), Cells(Inser, 13)).FormulaR1C1 = Range(Cells(Inser - 1, 1), Cells(Inser - 1, 13)).FormulaR1C1

End Sub
 
Dernière modification par un modérateur:
Re : Récupérer la ligne d'un bouton et la stocker dans une variable

Bonjour.
Application.Caller devrait vous rendre le nom du Shape qui a appelé la sub
et ce ActiveSheet.Shapes(nom).TopLeftCell (ou BottomRightCell) devrait vous rendre l'information cherchée.
À+
 
Re : Récupérer la ligne d'un bouton et la stocker dans une variable

Merci pour ces réponses, Pierrot93, le MsgBox fonctionne, il m'ouvre une boite de dialogue avec le numéro de la ligne mais je ne peut pas récupérer pour mettre dans une variables.
Dranreb, ça maffiche une erreur d'index sur ta ligne:

Dim li As Long 'déclare la variable li (LIgne)
li = ActiveSheet.Shapes(ecartDT).LeftTopCell
 
Re : Récupérer la ligne d'un bouton et la stocker dans une variable

C'était TopLeftCell en fait et ça doit être déclaré As Range, non As Long.
À+

P.S. Mais j'avoue avoir initialement tapé LeftTopCell puis corrigé en copiant sur Pierrot que je salue au passage.
 
Re : Récupérer la ligne d'un bouton et la stocker dans une variable

Ca ne marche toujours pas je sais plus quoi faire. Mon code fonctionne (le premier message), le problème c'est que j'arrive pas à l'adapter pour un dexième bouton, il s'amuse à me créer des lignes toujours au même endroit alors que les deux boutons ne sont pas sur la même ligne.
 

Pièces jointes

Re : Récupérer la ligne d'un bouton et la stocker dans une variable

Re,

Ca ne marche toujours pas je sais plus quoi faire. Mon code fonctionne (le premier message), le problème c'est que j'arrive pas à l'adapter pour un dexième bouton, il s'amuse à me créer des lignes toujours au même endroit alors que les deux boutons ne sont pas sur la même ligne.

normal, les codes sont identiques et je ne vois pas les codes que nous t'avons proposés....
 
Re : Récupérer la ligne d'un bouton et la stocker dans une variable

j'avais mis cela car je voulais que la case à copier serait celle qui se trouve juste au dessus de la ligne qui venait d'être ajouté, mais bon en fin de compte ça ne sert a rien.
Voici le code final:

Dim Inser As Long
Inser = Feuil1.CommandButton1.TopLeftCell.Row
Range(Cells(Inser, 1), Cells(Inser, 13)).Insert
Range(Cells(Inser, 1), Cells(Inser, 13)).FormulaR1C1 = Range(Cells(Inser - 1, 1), Cells(Inser - 1, 13)).FormulaR1C1
 
Re : Récupérer la ligne d'un bouton et la stocker dans une variable

j'ai une autre petite question, le clique sur le bouton me retourne la ligne sur laquelle il se trouve, mais en cas d'insertion d'une autre ligne au dessus, la ligne attribué au bouton se déplace mais pas lui. Est-il possible de liée le bouton à la ligne de façon à ce qu'ils bougent en même temps?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
469
Réponses
5
Affichages
916
Réponses
43
Affichages
829
Réponses
2
Affichages
528
Retour