Appliquer validation de données sur plusieurs feuilles sélectionnées

flot

XLDnaute Nouveau
Bonjour,
J'ai un tableau excel avec de nombreuses feuilles contenant toutes la même structure. Je souhaiterais appliquer une validation de données sur plusieurs feuilles sélectionnées manuellement. Je précise que je souhaite faire une sélection manuelle car j'ai de nombreuses feuilles mais que ma validation de données ne sera pas identique en fonction de mes feuilles.
Pour cela j'ai réalisé ce code :
Code:
Sub ValidDate()

    Dim Ws As Worksheet
    For Each Ws In ActiveWindow.SelectedSheets
        With Ws.Range("A2:A10").Validation
        .Delete
        .Add Type:=xlValidateDate, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="01/01/2013", Formula2:="01/01/2014"
        .ErrorMessage = "La date doit être comprise entre le 01/01/2013 et le 31/12/2013"
        End With
    Next Ws
End Sub

Mais j'ai un message d'erreur dès que je sélectionne plusieurs onglets:
Erreur d'exécution '1004'
Erreur définie par l'application ou par l'objet

et la ligne
.Add Type:=xlValidateDate, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="01/01/2013", Formula2:="01/01/2014"
est surlignée

Qu'est-ce qui ne va pas dans mon code?
Merci d'avance.
 

Pièces jointes

  • MacroValidation.xlsm
    13.3 KB · Affichages: 44

Robert

XLDnaute Barbatruc
Repose en paix
Re : Appliquer validation de données sur plusieurs feuilles sélectionnées

Bonjour Flot et bienvenu(e), bonjour le forum,

Il faut que l'onglet soit sélectionné pour ajouter la validation de données (ne me demande pas pourquoi je n'en sais rien)... Essaie comme ça :


Code:
Sub ValidDate()
Dim Ws As Worksheet

Application.ScreenUpdating = False
For Each Ws In ActiveWindow.SelectedSheets
    Ws.Select
    With Ws.Range("A2:A10").Validation
        .Delete
        .Add Type:=xlValidateDate, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="01/01/2013", Formula2:="01/01/2014"
        .ErrorMessage = "La date doit être comprise entre le 01/01/2013 et le 31/12/2013"
    End With
Next Ws
Application.ScreenUpdating = True
End Sub
 

flot

XLDnaute Nouveau
Re : Appliquer validation de données sur plusieurs feuilles sélectionnées

Cela fonctionne!:D
Merci beaucoup, car j'ai passé pas mal de temps à essayer de comprendre ce qui se passait avec mes faibles connaissances.
Ce qui me pose question, c'est que j'ai testé en utilisant que la méthode "delete" seule et là on n'a pas besoin de sélectionner un onglet.
Je n'aurais jamais pensé à cela.
 

Discussions similaires

Statistiques des forums

Discussions
311 737
Messages
2 082 036
Membres
101 878
dernier inscrit
1475214