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 Sub

Si 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 Sub

Cette 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 Sub

Dans 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 Sub

Attention :

  • 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

Rechercher des sujets similaires à "macro copie ligne choix case"