XL pour MAC Comment conserver ses données ?

amelie75

XLDnaute Occasionnel
Bonjour,
encore besoin de vos lumières
j'ai en feuil3 un tableaux qui vas de janvier a décembre
mais arriver a décembre j'effacerais ces donner a l'interieur de chaque mois
ma question et t'il possible de conserver c'est donner (tableaux ci joint)
et que ce tableaux continue a se remplir quand je remplirai janvier a décembre de nouveaux
 

Pièces jointes

  • garder.jpeg
    garder.jpeg
    85.5 KB · Affichages: 18
  • FSLP FINAL.xlsm
    644 KB · Affichages: 10

sylvanu

XLDnaute Barbatruc
Supporter XLD
exactement le meme probleme
Je pense que quand on ouvre le fichier, on passe par la sécurité système ( que ce soit sous Windows ou IOS ) et IOS trouve dans la macro un truc qui ne lui plait pas et supprime les macros.
Or la macro n'utilise que du classique, pas de Références, de librairies de services Windows.
Ca restera un mystère.

Pour le nouveau code :
VB:
Sub Archivage()
    Dim Nomfeuille, FeuilleOrigine, Mois(), M%, Début%, Fin%
    On Error GoTo FinArchive
    Application.ScreenUpdating = False
    ' Nom de la nouvelle archive
    FeuilleOrigine = ActiveSheet.Name
    Nomfeuille = InputBox("Quel nom voulez vous donner à l'archive ?", "Archivage")
    If Nomfeuille = "" Then Exit Sub
    ' Duplication de la feuille, renommage, copier coller valeur, et masquage.
    ActiveWorkbook.ActiveSheet.Copy After:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = Nomfeuille
    [P30] = [P30].Value             ' Figeage de la valeur Course en P30
    [B1].Select
    ActiveSheet.Visible = 0
    ' On revient sur la feuille d'origine et on efface les données.
    Sheets(FeuilleOrigine).Select
    Mois = Array("JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DECEMBRE", "FIN")
    For M = 0 To 11
        Nom = Mois(M)
        Début = Application.Match(Mois(M), [C:C], 0) + 2        ' Zone à effacer commence 2 lignes après le mois
        If M < 11 Then
            Fin = Application.Match(Mois(M + 1), [C:C], 0) - 1  ' et se termine 1 ligne avant le mois suivant
        Else
            Fin = 400                                           ' Si mois de décembre, pas de mois suivant donc Fin=400
        End If
        Range("D" & Début & ":K" & Fin).ClearContents
    Next M
    ' Message de fin
    MsgBox "Cette feuille a été archivée sous le nom de " & Nomfeuille & Chr(10) & " et a été masquée."
Exit Sub
FinArchive:
    ' Si le nom de l'archive existe déjà, alors erreur.
    MsgBox "Oups! petit souci, la feuille avec ce nom semble déjà exister."
End Sub

Sur ce, bonne nuit. 😴
 

Discussions similaires

Statistiques des forums

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