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

  • Initiateur de la discussion Initiateur de la discussion flot
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
Re : Appliquer validation de données sur plusieurs feuilles sélectionnées

Cela fonctionne!😀
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
1 K
Réponses
4
Affichages
1 K
Réponses
3
Affichages
897
Réponses
1
Affichages
996
Retour