Macro de copie de ligne selon choix de la case
Bonjour à tous,
Je bloque sur la réalisation d'une macro qui va devoir intégrer des variables.
Le but du jeu en gros c'est de copier un ensemble de cellule d'une ligne choisi sur la ligne 1 et exécuter un lien.
J'ai réussi à faire ça pour une seule ligne mais je n'arrive pas à appliquer de variable qui surveille où je clique .
J'ai comme code pour ma feuille :
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("X3:X1024")) Is Nothing Then
Macro1
End If
End SubSi je me suis pas trompé, ça scrute les cases de X3 à X1024 et ça exécute la Macro1 si je double clic
Pour la Macro1 j'ai ça :
Sub Macro1()
'
' Macro1 Macro
' copie + lien
'
Range("A3:W3").Select
Selection.Copy
ActiveWindow.LargeScroll ToRight:=-1
Range("A1").Select
ActiveSheet.Paste
Sheets("FICHE RER DEIE").Select
End SubCette macro je l'ai réalisé avec l'assistant automatique. En gros je sélectionne les cases A3 à W3 je les copies et les colles sur la ligne 1.
Ce que je n'arrive pas à modifier dessus c'est intégrer une variable qui va copier par exemple les cases A52 à W52 si j'ai double cliqué sur la case X52
Actuellement si je clique sur n'importe quelle case X (dans la limite de 3 à 1024) c'est ma ligne 3 qui est copié en 1 (Normal j'ai pas mis les variables me direz vous ^^)
Je n'arrive pas à comprendre comme je peu lui déclarer des plages qu'il va comparé par rapport à la case X"x" que je vais choisir
J'espère que je n'ai pas été trop brouillon dans mes explications
Merci d'avance pour vos conseils
Bonjour
De manière simple modifiez vos codes comme ceci :
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("X3:X1024")) Is Nothing Then
ligne = Target.Row
Call Macro1
End If
End SubDans le module mettez ceci :
Public ligne as integer
Sub Macro1()
' copie + lien
Range("A" & ligne & ":W" & ligne).Copy Sheets("xxx").Range("A1")
Sheets("FICHE RER DEIE").Select
End SubAttention :
- il faudrait spécifier le nom de la feuille où vous collez les données-> remplacez les xxx par le nom de la feuille de destination
- La déclaration de variable "ligne" doit se trouver en tête du module
Si ok et terminé, merci de cloturer le fil en cliquant sur le petit v en haut à droite lors de votre réponse.
Cordialement
Bonjour
Merci beaucoup ça marche nickel. J'en attendais pas autant. Je met le post en validé mais je vais essayer de comprendre ces modifs pour les réutiliser si besoin.
Encore merci