XL 2010 [RESOLU] validation sans lignes vides

cathodique

XLDnaute Barbatruc
Bonjour:) me revoilà!

J'aime bien les listes de validation. Alors j'ai trouvé une astuce de Cathy ICI

J'avoue que je ne suis parvenu à mettre en place. Merci, j'ai raté quelque chose ou je ne comprends plus rien.
 

Pièces jointes

  • 1 Validation.xlsx
    7.8 KB · Affichages: 27

Lone-wolf

XLDnaute Barbatruc
Re cath :)

Une autre solution, en les créant directement. Dans un module

VB:
Option Explicit

Sub TestValidations()
Dim derlig As Long, i As Long, x As Integer, plage(1 To 5) As String

    On Error Resume Next

    With Feuil1
        .Range("a2:e65536").Validation.Delete
        derlig = .Range("a" & Rows.Count).End(xlUp).Row + 1
        x = 1
        plage(1) = "=Feuil2!$A$2:$A$65536"
        plage(2) = "=Feuil2!$B$2:$B$65536"
        plage(3) = "=Feuil2!$C$2:$C$65536"
        plage(4) = "=Feuil2!$D$2:$D$65536"
        plage(5) = "=Feuil2!$E$2:$E$65536"

        For i = 2 To derlig
            x = x + 1
            With .Range("a" & x)
                .Validation.Add Type:=xlValidateList, Formula1:=plage(1)
            End With
            With .Range("b" & x)
                .Validation.Add Type:=xlValidateList, Formula1:=plage(2)
            End With
            With .Range("c" & x)
                .Validation.Add Type:=xlValidateList, Formula1:=plage(3)
            End With
            With .Range("d" & x)
                .Validation.Add Type:=xlValidateList, Formula1:=plage(4)
            End With
            With .Range("e" & x)
                .Validation.Add Type:=xlValidateList, Formula1:=plage(5)
            End With
        Next i
    End With
End Sub

Dans le module de la feuille

VB:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("a2:e65000")) Is Nothing Then

    If ActiveCell = "" Then
        Call TestValidations
    Else
        Exit Sub
    End If
End If
End Sub

En PJ classeur exemple
 

Pièces jointes

  • Creer Listes Validations.xlsm
    19.6 KB · Affichages: 29
Dernière édition:

cathodique

XLDnaute Barbatruc
Merci à vous pour votre réactivité.

Cependant, avez-vous visité le lien? Moi je n'y suis pas parvenu à utiliser l'astuce de Cathy sans VBA.

@vgendron :confused:: je ne voulais pas passer par une autre liste. Merci quand même.

@Lone-wolf :rolleyes:: Tu adores le VBA n'est-ce pas. Je te remercie moi j'aime bien. Mais de temps à autres, on devrait utiliser quelques astuces assez simples natives d'Excel.

J'ai trouvé l'astuce de Cathy intéressante. Dans le sens où elle utilise 2 listes nommées et une formule.

Merci à vous.
 

vgendron

XLDnaute Barbatruc
Dans le cas proposé par Cathy:
Lorsque vous insérez une liste déroulante liée à une plage, et que les dernières lignes de cette plage sont vides

toi tes lignes vides sont un peu partout dans ta liste...

sinon fais une recherche sur extraction sans doublon, sans ligne vide etc etc..
va sur le site de JBoisgontier: tu devrais y trouver ton bonheur
http://boisgontierjacques.free.fr/
 

cathodique

XLDnaute Barbatruc
@vgendron :): Je me disais bien que j'avais raté quelque chose. "Les dernières lignes vides". Elles ont fait la différences. Merci beaucoup de m'avoir éclairé; je dois changer mes binoculaires:D. Pour le site de Boisgontier, c'est ma référence. Merci quand même.

@Lone-wolf o_O à qui tu dis! J'en bave aussi et ce, tous les tous jours.

Merci à vous bon wwek-end.
 

Discussions similaires

Réponses
36
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 205
Membres
103 157
dernier inscrit
youma