Donne validation

Bonjour,

J'ai une centaine de fichiers excel et dans chaque fichier j'ai utilisé la notion de donne validation .

Je cherche a realiser une boucle dans chaque fichier pour l'ensemble des validations pour pouvoir changer automatiquement le type de validation . Il s'agit de validation sur base de liste de données et je doit changer le type d'allerte en cas de saisie de données en dehors de la liste . Le style actuel est arret et je dois passer a avertissement .

Merci pour votre aide .

Bonjour

Je te suggères de faire une première manip avec l'enregistreur de Macro, lequel sera capable de traduire les conditions de ta validation (que nous ne pouvons pas inventer) et traduira ton désir de changement en procèdure.

(ça marche parfaitement, je viens d'essayer)

Cordialement

Ce qu'il me faut, c'est l'instruction qui compte le nombre de donnee validation dans une feuille .

En suite, je peux envisager une boucle for each et essayer de changer le style d'alerte .

Une idée ?

Merci .

Bonjour

Sur la feuille Active, Code obtenu à partir de l'enregistreur avec "Edition" "Atteindre" 'Cellules" "Validation" Toutes

Cells.Select
    ActiveCell.SpecialCells(xlCellTypeAllValidation).Select
    With Selection.Validation

Cordialement

20classeur2.xls (19.00 Ko)

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

Cela a fonctionne , merci .

Pouvez-vous me dire ou vous trouvez ces informations ?

Avez-vous un livre de reference en francais ?

Ph Jacquet

Rechercher des sujets similaires à "donne validation"