Copier coller spécial

Bonjour, voici mon problème: j'ai un fichier Excel avec plusieurs onglets comprenant des stocks et notamment un onglet "commande".

Je souhaiterais créer une macros qui me permette de copier depuis mes feuilles de stocks jusqu'à la feuille "commande".

Exemple :

je copie depuis la feuille "transfert cartons entrepôt" de B2 à N2 pour aller y coller sur la feuille "commande" en A11

ensuite je veux copier toujours dans "transfert cartons..." de B5 à N5 pour aller y copier sur la feuille "commande" en A12

etc....

En clair je désire trouver une macros qui copie des lignes non successives dans mes stocks (les plages à copier sont toujours de B à N)

et les colle sur ma feuille "commande" en A11 puis une autre en A12, une autre en A13......

merci d'avance

7test.rar (218.95 Ko)

Bonsoir Jeff, bonsoir le forum,

Je te propose la macro événementielle BeforeDoubleClick ci-dessous qui réagit au double-clic :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'au double-clic dans l'onglet
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (Plage)
Dim LI As Range 'déclare la variable LI (Ligne)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

DL = Cells(Application.Rows.Count, 2).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 2 (=B)
Set PL = Rows("2:" & DL) 'définit la plage PL (ligne 2 à DL)
'si le double-clic à lieu aillers que dans la plage PL, sort de la procédure
If Application.Intersect(PL, Target) Is Nothing Then Exit Sub
Cancel = True 'annule le mode [Édition] lié au double-clic
Set LI = Cells(Target.Row, 2).Resize(, 13) 'définit la plage LI de la celule double-cliquée (colonne B à N)
'définit la cellule de destination DEST
Set DEST = Sheets("Commande").Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)
LI.Copy 'copie la plage LI
DEST.PasteSpecial (xlPasteValues) 'colle les valeur dans la cellule DEST
Application.CutCopyMode = False 'annule le clignotement de la plage copiée
'colore de rouge la cellule en colonne B pour indiquer que cette donnée a déjà éte'copiée
Cells(Target.Row, 2).Interior.ColorIndex = 3
End Sub

Tu dois juste double-cliquer dans une des cellules de la ligne que tu veux copier.

Le fichier :

14jeff-v01.zip (132.37 Ko)

Ça marche Nickel!!

Un grand merci a toi

Rechercher des sujets similaires à "copier coller special"