Macro Excel Copier coller

Arnaud.hoarau

XLDnaute Nouveau
Bonjour a toutes et à tous.

J'ai un tableur Excel avec plusieurs onglets. Parmi celles ci ,j'ai un facturier , et un journal de vente.
J'aimerai en un clic faire un copier coller de la plage de cellule de référence de mon facturier dans mon journal de vente.Et, lors de mon second clic, je voudrai que les references s ajoute les unes en dessous des autres.
J'ai deja essayé avec l'enregistreur de macro d excel 2011 mais cela ne fonctionne pas trés bien.
Merci de m'aider s'il vous plait
Je voudrai que les cellules A16 à A45 de mon facturier soit copier et collés dans " journal de vente " dans la cellule A3 et que ca s'incremente en dessous lors de mes prochains clic.
Et Je voudrai que les cellules B16 à B45 de mon facturier soit copier et collés dans " journal de vente " dans la cellule F3 et que ca s'incremente en dessous lors de mes prochains clic.


Range("A16:A45").Select
ActiveWindow.SmallScroll Down:=4
Selection.Copy
ActiveWindow.SmallScroll Down:=3
Sheets("Journal de vente ").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Facturier").Select
Range("A46:D46").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "1"
Range("L46").Select
Selection.ClearContents
Range("K46").Select
ActiveWindow.SmallScroll Down:=-7
Range("F16:F45").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=-4
Range("I12:K12").Select
ActiveCell.FormulaR1C1 = "0"
Range("I13").Select
ActiveWindow.SmallScroll Down:=-2
End Sub
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Macro Excel Copier coller

Bonjour Arnaud et bienvenu, bonjour le forum,

Le code ci-dessous réagit au double-clic sur n'importe quelle cellule de la plage A16:B45. Il faut le placer dans le composant de l'onglet Facturier (Clic droit sur l'onglet/option Visualiser le code).
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'au double-clic dans l'onglet
Dim dest As Range 'déclare la variable dest (cellule de DESTination)

If Application.Intersect(Target, Range("A16:B45")) Is Nothing Then Exit Sub 'si le double-clic a lieu ailleurs que dans la plage A16:B45, sort de la procédure
Cancel = True 'évite le mode édition lié au double-clic
With Sheets("Journal de vente") 'prend en compte l'onglet "Journal de vente"
    'définit la cellule de destination dest (A3 si A3 est vide, sinon la première ligne vide de la colonne A)
    Set dest = IIf(.Range("A3").Value = "", .Range("A3"), .Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
End With 'fin de la prise en compte de l'onglet "Journal de vente"
Range("A16:A45").Copy dest 'copy la plage A16:A45 et la colle dans dest
Range("B16:B45").Copy dest.Offset(0, 5) 'copy la plage B16:B45 et la colle dans dest décalé de 5 colonnes à droite
MsgBox "Données Copiées !" 'message (à supprimer selon ton cas)
End Sub
 

Arnaud.hoarau

XLDnaute Nouveau
Re : Macro Excel Copier coller

Bonjour Mr Robert , et merci de votre réponse aussi rapide.

J'ai essayé cette technique mais elle ne fonctionne pas sur mon tableur,

Est ce que ca serai possible d'avoir un bouton relier a cette macro ?
exemple : Quand je clic sur mon bouton que je nomme " valider facture " que j ai crée a l'aide du développeur,
excel va sélectionner les cellules A16;A45 et B16;A45 et F16;F45 pour le coller sur mon "journal de vente" dans les cellules A3 (pour A16;A45) et dans la cellule F3 (pour B16;B45) et E3 (pour F16;F45) de mon "journal de vente" et lors de mes prochain clics refaire la meme procedure mais en mettant les selections juste en dessous et sans vide

Je vous ai mis deux images de mon tableur pour que peut etre vous trouviez une solution pour moi.

Salutation ::)
 

Pièces jointes

  • Image 1.jpg
    Image 1.jpg
    39.4 KB · Affichages: 39
  • Image 4.jpg
    Image 4.jpg
    54.1 KB · Affichages: 39
  • Image 1.jpg
    Image 1.jpg
    39.4 KB · Affichages: 45
  • Image 4.jpg
    Image 4.jpg
    54.1 KB · Affichages: 44
  • Image 1.jpg
    Image 1.jpg
    39.4 KB · Affichages: 47
  • Image 4.jpg
    Image 4.jpg
    54.1 KB · Affichages: 48
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Macro Excel Copier coller

Bonsoir Arnaud, bonsoir le forum,

Je ne comprends pas que l'on mette une image en pièce jointe plutôt qu'un fichier exemple ! C'est donc à nous de recréer ton environnement pour tester le code. Mais bon... J'ai l'habitude !
Le code modifié à attribuer à ton bouton :
Code:
Private Sub CommandButton1_Click()
Dim j As Object 'déclare la variable j (onglet jounal de vante)
Dim f As Object 'déclare la variable f (onglet Facturier)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)

Set j = Sheets("Jounal de vente") 'définit l'onglet j
Set f = Sheets("Facturier") 'définit l'onglet f
'définit la cellule de destination dest (A3 si A3 est vide, sinon la première ligne vide de la colonne A)
Set dest = IIf(j.Range("A3").Value = "", j.Range("A3"), j.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
f.Range("A16:A45").Copy dest 'copy la plage A16:A45 et la colle dans dest
f.Range("B16:B45").Copy dest.Offset(0, 5) 'copy la plage B16:B45 et la colle dans dest décalé de 5 colonnes à droite
f.Range("F16:F45").Copy dest.Offset(0, 4) 'copy la plage F16:F45 et la colle dans dest décalé de 4 colonnes à droite
MsgBox "Données Copiées !" 'message (à supprimer selon ton cas)
End Sub
 

Arnaud.hoarau

XLDnaute Nouveau
Re : Macro Excel Copier coller

Bonjour, je suis vraiment navré Mr Robert, je suis novice sur le forum et en VBA aussi d'ailleurs.
J'ai essayé ce que vous m'avez dit et cela ne fonctionne pas,

J'ai essayé de mettre tout mon classeur en pièces jointes, c est trop lourd, j'ai donc selectionné les 2 feuilles concerné de mon classeur

En esperant que vous trouviez une solution pour moi. Merci beaucoup !! :)
 

Pièces jointes

  • Classeur1.xlsx
    128.7 KB · Affichages: 52
  • Classeur1.xlsx
    128.7 KB · Affichages: 57
  • Classeur1.xlsx
    128.7 KB · Affichages: 58
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 034
Membres
104 010
dernier inscrit
Freba