Macro - copier ligne sélectionnée vers 2e feuille - RESOLU

RG75

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je suis amené à réaliser un projet important permettant, un peu à la manière d'accès, mais sous excel :
- de créer un client dans une base de données
- de générer une synthèse ad hoc plus lisible par client

Il est bien avancé à ce jour, la structure est créée et j'ai ajouté les formulaires, formules et macros qui me seront utiles. Cependant, étant encore novice sur VBA (je commence l'apprentissage de ce langage), je coince sur une des macros et c'est pourquoi je sollicite votre aide.

Ma problématique est la suivante :

Je souhaite créer une macro qui copie automatiquement la ligne entière sélectionnée d'une feuille "onglet1" (selected row) dans une autre feuille "onglet 5" à une ligne fixe (ligne 1). Cette copie comprend une quarantaine de colonnes. Actuellement, je réussis à le faire mais le problème est que dès que je rajoute une ligne, cela incrémente la copie à une ligne en-dessous dans mon onglet 5, or je souhaite figer la plage (range) de copie.

Fonctionnement du fichier :
1) Je génère un formulaire ad hoc sur l'onglet 2, permettant de créer une ligne dans l'"onglet 5", qui apparait alors dans l'"onglet 1" dès que je clique sur générer. Cela fonctionne.
2) Dès que je sélectionne une cellule dans l'"onglet 1", par la souris par exemple, cela copie l'intégralité de la ligne concernée dans l'"onglet 5", permettant ainsi d'alimenter les onglets 3 et 4 de présentation.

J'ai effectué de nombreuses recherches sur internet et ce sujet est fréquemment abordé, mais les conditions ou le code ne convenaient pas à ce que je souhaitais faire. Je n'ai pas su l'adapter.

Vous trouverez ci-joint mon fichier Excel. Je travaille sous 2007, mais il est destiné à être utilisé sur une version plus ancienne.

En espérant trouver une contribution généreuse. Merci d'avance!
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : Macro - copier ligne sélectionnée vers 2e feuille

Bonjour,

Il faudrait juste nous laisser les 2 onglets concernés et le bout de code que tu as essayé d'écrire.

Car là , on s'y perd un peu.

enfin selon ce que j'ai compris :

Ligneselect sera à remplacer par target.row par exemple:

Code:
ligneselect = 5
Sheets("Onglet1").Rows(ligneselect).Copy Destination:=Sheets("onglet5").Rows(1)
 

Pierrot93

XLDnaute Barbatruc
Re : Macro - copier ligne sélectionnée vers 2e feuille

Bonjour,

pas ouvert ton fichier, mais si cela peut t'aider à avancer :
Code:
Rows(ActiveCell.Row).Copy Destination:=Sheets("Feuil2").Range("A1")
bonne journée
@+

Edition : bonjour Camarchepas
 

RG75

XLDnaute Nouveau
Re : Macro - copier ligne sélectionnée vers 2e feuille

Bonjour,
Merci à vous deux pour votre réponse rapide !!
J'ai effectivement solutionné ma problématique grâce à vous. Le code adéquat est récapitulé ci après :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Rows(ActiveCell.Row).Copy Destination:=Sheets("onglet5").Range("A1")
End Sub

La macro est enregistrée dans la feuille VBA "onglet1"
Encore merci, vous êtes au top!
Bonne soirée!

PS: je ne trouve pas le bouton "résolu", j'ajoute donc "RÉSOLU" en intitulé du sujet.
 

Discussions similaires

Statistiques des forums

Discussions
312 165
Messages
2 085 882
Membres
103 011
dernier inscrit
rine