Copier des cellules d'une feuille et les coller dans une autre feuille avec une macro

Barbapapa

XLDnaute Occasionnel
Bonjour à tous, je cherche une macro qui pourrait copier des cellules d'une feuille, insérer une ligne dans une base de donnée située sur une autre feuille, coller les cellules qui ont été copiées, effacer les cellules où ont été copiées tout au début et enregistre le classeur.
J'ai trouvé des macros pour certaines actions mais ce n'est pas suffisant pour réaliser ce que je souhaite.
J'ai mis un fichier avec une explication plus précise et un exemple pour plus de clarté.

Je vous remercie par avance et vous souhaite une très bonne soirée
Frédéric
 

Pièces jointes

  • formulaire forum.xls
    27.5 KB · Affichages: 53

piga25

XLDnaute Barbatruc
Re : Copier des cellules d'une feuille et les coller dans une autre feuille avec une

Bonjour,

A mettre dans le code du bouton
Code:
Private Sub CommandButton1_Click()
'Piga25 le 11/11/12

With Sheets("base de donnees")
    Dim Dll As Long 'dernière ligne
        Dll = .Range("A65536").End(xlUp).Row + 1
            .Range("A" & Dll).Value = Sheets("formulaire").Range("A6").Value
            .Range("B" & Dll).Value = Sheets("formulaire").Range("B6").Value
            .Range("C" & Dll).Value = Sheets("formulaire").Range("A12").Value
            .Range("D" & Dll).Value = Sheets("formulaire").Range("C18").Value
            .Range("E" & Dll).Value = Sheets("formulaire").Range("A23").Value
End With
With Sheets("formulaire")
    Range("A6,B6,A12,C18,A23").ClearContents
    'Range("A23").Activate
    'Selection.ClearContents
    'Range("A6").Select
End With
ActiveWorkbook.Save
End Sub
 

Pièces jointes

  • formulaire forum.xlsm
    28 KB · Affichages: 68

kjin

XLDnaute Barbatruc
Re : Copier des cellules d'une feuille et les coller dans une autre feuille avec une

Salut,
Code:
Private Sub CommandButton1_Click()
Dim rng As Range, t(4)
With Feuil4
    Set rng = .Range("A6, B6, A12, C18, A23")
End With
For i = 1 To rng.Count
    t(i - 1) = rng.Areas(i).Cells(1)
Next
With Feuil5
    .Range("A4:F4").Copy
    .Rows(4).Insert Shift:=xlDown
    Application.CutCopyMode = False
    .Range("A4:E4") = t
End With
rng.ClearContents
ActiveWorkbook.Save
End Sub
A+
kjin
 

Fred0o

XLDnaute Barbatruc
Re : Copier des cellules d'une feuille et les coller dans une autre feuille avec une

Bonsoir Barbapapa,

Voici une macro que tu peux tester :
VB:
Private Sub CommandButton1_Click()
    Dim Bdd As Worksheet, frm As Worksheet
    Set Bdd = Sheets("base de donnees")
    Set frm = Sheets("formulaire")
    Bdd.[A4:F4].Insert shift:=xlDown
    Bdd.[A4] = frm.[A6]
    Bdd.[B4] = frm.[B6]
    Bdd.[C4] = frm.[A12]
    Bdd.[D4] = frm.[C18]
    Bdd.[E4] = frm.[A23]
    Bdd.[A5:F5].Copy
    Bdd.[A4].PasteSpecial xlPasteFormats
    frm.[A6:B6,A12,C18,A23].ClearContents
End Sub

A+

Edit : Bonsoir Piga25, kjin, décidément, ça se bouscule au portillon !
 

Barbapapa

XLDnaute Occasionnel
Re : Copier des cellules d'une feuille et les coller dans une autre feuille avec une

Bonsoir piga25, kjin et Fred0o et un grand merci pour vos réponses, en plus j'ai le choix et je peux voir différentes façons de procéder. J'ai opté pour la réponse de Fred0o à laquelle j'ai rajouté l'enregistrement à la fin. Mais je garde précieusement les 2 autres solutions.
Je vous souhaite une bonne semaine !
Frédéric
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote