Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Forcer la cellule active

  • Initiateur de la discussion Initiateur de la discussion adr95
  • 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 !

adr95

XLDnaute Occasionnel
Bonjour,

Je voudrais que lorsqu'on clique sur le bouton le copier coller s'effectue deux lignes en dessous et une colonne sur la gauche par rapport au bouton sur lequel l'utilisateur a cliqué (car j'ai plusieurs bouton).
J'ai déjà le code du copier coller mais pour l'instant il s'effectue dans la cellule active.

merci
 

Pièces jointes

Re : Forcer la cellule active

bonjour adr95,

tu peux essayer
Code:
Destination:=ActiveCell.Offset(2, -1).Resize(.Rows.Count, .Columns.Count)

ça décale de 2 lignes vers le bas + 1 colonne à gauche

à+
 
Re : Forcer la cellule active

Bonjour adr95, francedemo,

Je crois qu'adr95 voulait prendre en référentiel le bouton qui a été cliqué et plus l'ActiveCell justement, et je me demandais si tu étais obligé d'utiliser des contrôles de formulaire comme boutons ou si tu pouvais aussi et plutôt utiliser des contrôles ActiveX, qui simplifierait grandement la tâche dans ton cas.
 
Re : Forcer la cellule active

Bonjour francedemo, WUTED,

WUTED a raison je souhaite me repérer par rapport au bouton et mettre la cellule active deux lignes en dessous et une colonne sur la gauche. Après je peux utiliser n'importe quel bouton mais je ne connais pas la différence entre les deux.
 
Re : Forcer la cellule active

Salut adr95 et le forum

Il suffit de remplacer ActiveCell (cellule active) par ActiveSheet.Shapes(Application.Caller).TopLeftCell (cellule en haut à gauche du bouton qui a lancé la macro).
Il faudra sans doute recalibrer le déplacement.
A+
 
Re : Forcer la cellule active

Merci pour vos réponse mais problème car quand je clique deux fois de suite sur le bouton je n'ai pas deux affichages de mes données de départ voici le code :
Sub Bouton1_Clic()
Dim x As Range, y As Range
Set x = Cells(1, 5)
Set y = Cells(7, 5)
With Range(x, y)
ActiveCell.Resize(.Rows.Count, .Columns.Count).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
.Copy Destination:=ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(2, -1).Resize(.Rows.Count, .Columns.Count)
End With
End Sub
 
Re : Forcer la cellule active

Salut adr95 et le forum
mais problème car quand je clique deux fois de suite sur le bouton je n'ai pas deux affichages de mes données de départ
Normal, tu utilises Activecell (cellule active). Hors tu ne demandes pas à Excel de rendre active la cellule qui l'était au départ quand tu as lancé la macro. il te suffit de mémoriser la cellule active en début de code et de la sélectionner en fin.
Code:
Dim Cel_X as range
Set Cel_X =activeCell
....
Cell_x.select
A+
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
655
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…