Bonjour,
essaie le code suivant, que tu copies et colle dans un module d'un nouveau fichier que tu créés pour l'occasion.
N'enregistre pas ce nouveau fichier dans le même répertoire que ta centaine de fichiers à traiter.
Détermine le répertoire contenant cette centaine de fichiers à la ligne LePath
Détermine le titre du message d'erreur à la ligne "Const Titre....."
Détermine le texte du message d'erreur à la ligne "Const Erreur....."
Le code :
Const Titre As String = "Pas Bien"
Const Erreur As String = "Pas Possible"
Sub modif_validation()
Dim Cel As Range
Dim LePath As String
Dim Sh As Worksheet
Dim Fich As String
Application.ScreenUpdating = False
LePath = "C:\Users\TonNom\Documents\Excel\validation" 'A adapter
ChDir LePath 'recherche sur ce répertoire
Fich = Dir("*.xls") ' on recherche tous les fichiers Excel
Do While Fich <> "" ' tant qu'on en trouve
Workbooks.Open Filename:=Fich 'on ouvre les fichiers un à un
For Each Sh In ActiveWorkbook.Sheets 'on scanne tous les onglets
On Error Resume Next 'gestion d'erreur, s'il n'y a pas de validation de cellules
For Each Cel In Sh.Cells.SpecialCells(xlCellTypeAllValidation) 'pour toutes les cellules
'comportant une validation de cellule
With Cel.Validation 'avec la validation
.Modify , xlValidAlertWarning 'on modifie le type d'alerte
.ErrorTitle = Titre 'on met le titre
.ErrorMessage = Erreur 'on met le message d'erreur
.ShowInput = True
.ShowError = True
End With
Next Cel 'cellule suivante
Next Sh 'onglet suivant
Workbooks(Fich).Close True 'on ferme le fichier en enregistrant les modifications
Fich = Dir 'fichier suivant
Loop
End Sub
Bon Dimanche