XL 2021 Effacement de données.

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous,
Grace à l'aide de nombreux et géniaux contributeurs, j'ai pu construire un outil me permettant d'optimiser le cheminement dans mon hyper lorsque je fais les courses.
Quand je réinitialise le fichier (suppression des données = macro "Effacer" dans le fichier joint, cela supprime également la validation des données de la colonne 1 (A/N : A = ça se mange, N = ça ne se mange pas...)
J'ai essayé toutes sortes de choses, mais assurément pas les bonnes...:mad:
Si vous pouvez me donner un coup de main en m'expliquant ce que j'aurai du ou pu faire pour vous éviter ce vous solliciter.
Bien à vous tous,
Pierre
 

Pièces jointes

  • courses _LV.xlsm
    268.7 KB · Affichages: 12

vgendron

XLDnaute Barbatruc
Hello

il te suffit de remettre la liste de validation par macro

VB:
Sub Effacer()
    Dim Bouton As Integer
    Dim FSO As Object
    Dim NomCeClasseur As String
    Dim NomBackUp As String
    Dim k As Integer
 
    'Prompt de confirmation
    Bouton = MsgBox("Confirmer l'effacement des courses ?", vbOKCancel + vbQuestion)
    If Bouton = vbCancel Then Exit Sub
    
    'Prompt de création du BackUp
    Bouton = MsgBox("Créer un fichier BackUp avant l'effacement des courses ?", vbYesNoCancel + vbQuestion)
    If Bouton = vbCancel Then Exit Sub
    
    'Création du BackUp
    If Bouton = vbYes Then
        NomCeClasseur = ThisWorkbook.FullName
        k = InStrRev(NomCeClasseur, ".")
        NomBackUp = Left(NomCeClasseur, k - 1) & _
                    " " & _
                    Format(Now, "dd-mm-aa") & _
                    Mid(NomCeClasseur, k)
                    
        'Si classeur en cours modifié, l'enregistrer
        If Not ThisWorkbook.Saved Then ThisWorkbook.Save
        
        'File System Object
        Set FSO = CreateObject("Scripting.FileSystemObject")
        
        'Copier le classeur en cours sur le BackUp
        FSO.copyfile NomCeClasseur, NomBackUp, True
        
        'Confirmation
        MsgBox "Fichier <" & NomBackUp & "> créé !"
    End If
 
    'Effacement des colonnes relatives aux courses
    With ActiveSheet.ListObjects(NomTableauListeCourses)
        If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
        .ListRows.Add
        .ListRows(1).Range.Interior.ColorIndex = xlNone
        .ListColumns(TableauListeCourses_NomColonneCatégorie).DataBodyRange.Interior.Color = RGB(253, 233, 217)
        .HeaderRowRange(1).Select
        .DataBodyRange(1, 1).Validation.Delete
        .DataBodyRange(1, 1).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="A,N"
    End With
    
    'Confirmation
    MsgBox "Effacement des courses terminé !"
End Sub
 

Constantin

XLDnaute Occasionnel
Supporter XLD
Merci Vgendron,
Tu as reconnu ton "bébé"?
Je n'ai pas tout compris, mais ça marche. Le choix A/N en A2 apparait bien. Il y a juste un petit os qui me chagrine. Lorsque je demande une sauvegarde à la date du jour, il m'affiche 22-07-aa et non 22-07-23.
Pourtant la syntaxe semble correcte, mais tu connais mes limites.
Merci encore de ne pas m'avoir lâché.
Bien cordialement,
Pierre
 

Discussions similaires

Statistiques des forums

Discussions
315 127
Messages
2 116 543
Membres
112 776
dernier inscrit
MIZOULE