sauvegarde

milouca

XLDnaute Nouveau
Bonsoir a tous
Je souhaiterai qu’à chaque sauvegarde, la somme inscrite dans la case A1 de la feuille1 s’inscrive automatiquement dans " b6 " de la feuille2 si elle est vide, si " b6 " est plaine elle s’inscrit dans " b7 " ainsi de suite, si la case "b7" est plaine ecris en "b8" ........

merci à vous
 

Grand Chaman Excel

XLDnaute Impliqué
Re : sauvegarde

Bonsoir,

En supposant qu'il n'y a rien dans la colonne B de la feuille 2, insérer ce code dans "ThisWorkbook" de votre classeur :

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Feuil2.Range("B65000").End(xlUp).Offset(1, 0) = Feuil1.Cells(1, 1)
End Sub

La macro écrit dans la dernière cellule vide de la colonne B. Pour commencer à écrire dans B6, simplement écrire quelquechose en B5
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : sauvegarde

Bonjour le fil, bonjour le forum,

Peut-être comme ça :
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With Sheets("Feuil2")
    Sheets("Feuil1").Range("A1").Copy IIf(.Range("D6") = "", .Range("D6"), .Cells(Application.Rows.Count, 4).End(xlUp).Offset(1, 0))
End With
End Sub
 

milouca

XLDnaute Nouveau
Re : sauvegarde

Merci Robert de t'intéressais de mon ca
J’ai fait la macro comme tu la écrite en modifiant le nom des feuilles et de la case à sauvegarder il me marque "erreur de compilation End Sub ettendu "


Sub recap()
'
' recap Macro
'
'
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With Sheets("recap")
Sheets("document").Range("k12").Copy IIf(.Range("D6") = "", .Range("D6"), .Cells(Application.Rows.Count, 4).End(xlUp).Offset(1, 0))
End With
End Sub

End Sub
 

stefan373

XLDnaute Occasionnel
Re : sauvegarde

Bonjour milouca, grand chaman, robert et le forum,

C'est normal, vous avez placé le code de Robert dans une macro nommée "recap", cela ne saurai pas fonctionner. Il faut le placer dans "ThisWorkbook" et effacer Sub recap. :)

A+ Stéfan
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : sauvegarde

Bonjour le fil, bonjour le forum,

[Alt]+[F11] pour ouvrir VBE (Visual Basic Editor). le composant ThisWorkbook se trouve dans le cadre supérieur gauche dans la liste sous VBAProject(nom de ton classeur).
Double-clique dessus pour l'ouvrir (ThisWorkbook), dans le grand cadre à droite, colle le code du grand Sorcier ou le mien. [Alt]+[F11] pour refermer VBE. Sauve le classeur. Le code sera exécuter chaque fois que tu enregistreras (sauveras) ce classeur (ThisWorkbook)...
 

Discussions similaires

Statistiques des forums

Discussions
312 214
Messages
2 086 313
Membres
103 175
dernier inscrit
abcc