XL 2010 Sauvegarde automatique d'un tableau de données actualisé

hsf

XLDnaute Nouveau
Bonjour,

J'ai beau cherché comment écrire un code VBA de sauvegarde automatique, mais j'ai pas trouvé ce que je voulais. Je fais appel à vos connaissances pour bien m'aider à répondre mon besoin suivant :

- Dans la feuille 3 sur mon fichier j'ai un tableau qui se remplie automatiquement à chaque fois que je saisie les champs considérés (critère et valeur) (ça c'est déjà fait) pour modèle1 par exemple ici.

- je veux qu'une fois je clique sur le bouton enregistrer:
* la macro créee une feuille dont le nom est la cellule F2
* Copier coller avec mise en forme de l'intitulé
Test/Modèle1/Price
(Comme il est montré sur la feuille "Modèle1" avec le tableau sur la feuille créée.
* Continuer à copier coller le tableau mis à jour tant que le nom de la cellule F2 est toujours la même sur la même feuille créée toujours portant le même contenu de la cellule F2.
* Une fois le contenu de la cellule F2 change (par exemple Modèle2)
* Copier coller l'intitulé du tableau une seule fois avec le tableau mis à jour à chaque fois sur la feuille crééé "Modèle2"
* et ainsi de suite

Merci de trouver ci-joint le fichier.

Merci pour votre aide !
 

Pièces jointes

  • Classeur3.xlsx
    14.9 KB · Affichages: 8

hsf

XLDnaute Nouveau
Bonjour,

J'ai trouvé ces deux codes ci-dessous, mais je sais pas comment aboutir à un seul code (toujours en répondant sur la problématique ci-dessus). Merci de m'aider !

Sub test()

With Worksheets("Feuil3")
Set plage = Range("D7:L15")
End With

With Worksheets("Modèle1")
derlig = Range("B" & Rows.Count).End(xlUp).Row
End With

Sheets("Modèle1").Range(Cells(derlig, 1), Cells(derlig + plage.Rows.Count - 1, 2)).Value = Sheets("Feuil3").plage.Value


End Sub

Sub Worksheet_Change(ByVal target As Range)

Set cellule = Range("f2")
Rg = 0
If Not Intersect(target, plage) Is Nothing And target.Count = 1 Then
new_value = target.Value
nb_row = target.Row
Sheets.Add.Name = cellule.Value
End If
End Sub

Merci de m'aider !
 

hsf

XLDnaute Nouveau
Bonjour,

Je viens aujourd'hui pour partager avec vous ma solution concernant la sauvegarde d'un tableau actualisé. En effet, j'ai abouti à faire copier un tableau à la suite d'un autre dans une autre feuille.

Voilà le code :

Sub AZS()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim i As Long

Set ws1 = ActiveWorkbook.Worksheets("Feuil3")
Set ws2 = ActiveWorkbook.Worksheets("Modèle1")

i = ws2.Range("B" & Rows.Count).End(xlUp).Row + 1

ws1.Activate
Range("D7:L15").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy

ws2.Select
Cells(i, 2).Select
Cells(i, 2).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Cells(i, 2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells(i, 2).EntireRow.Insert
End Sub

et je suis arrivée aussi à créer une nouvelle feuille dont le contenu est variable (cellule F2). Voilà le code :

Sub Create_sheet_model()
Dim Fe As Worksheet

If VarType(Sheets("Feuil3").Range("F2")) = VarType(ValPrec) Then _
If ValPrec = Sheets("Feuil3").Range("F2") Then Exit Sub
MsgBox "Cellule F2 passe de " & CStr(ValPrec) & _
" vers " & CStr(Sheets("Feuil3").Range("F2"))
ValPrec = Sheets("Feuil3").Range("F2")
Set Fe = Sheets.Add(After:=Worksheets(Worksheets.Count))
Fe.Name = Sheets("Feuil3").Range("F2").Value

End Sub

Mais mon problème maintenant c'est comment utiliser la nouvelle feuille au sein de la première macro lors de la définition du worksheet ws2 d'une façon dynamique.

Merci pour votre aide.
 

Pièces jointes

  • Classeur3 version actualisee.xlsm
    21.6 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth