BUG fichier liste déroulante

Bonsoir tout le monde

je viens vers vous pour solliciter votre aide.

En effet, j'ai adapté un code pour me permettre de faire une liste déroulante sur plusieurs lignes.

et sa marche bien tant que je n'enregistre pas pour fermer. voici le code que J'utilise

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

 If Not Application.Intersect(Range("b2:B602"), Range(Target.Address)) _
            Is Nothing Then
Dim TMP As Variant 'déclare la variable TMP (tableau TeMPoraire)
Dim L As String 'déclare la variable L (Liste)
Dim KM As Worksheet
Dim f As Worksheet
Dim D As Object

     Set KM = Sheets("Encaissements")

    Set f = Sheets("FACTURE")

    Set D = CreateObject("Scripting.Dictionary")

    For I = 2 To 627
    If f.Cells(I, 2) <> "" Then D(f.Cells(I, 2)) = ""

    Next
    TMP= D.keys
    L = Join(TMP, ",")
    KM.Range("D8:D49").Validation.Delete
    KM.Range("D8:D49").Validation.Add xlValidateList, Formula1:=L

  End If
End Sub

Ainsi après réouverture du ficher, il est corrompu voilà les messages. Je connais pas l’origine voilà les messages erreurs

Merci d'avance pour votre aide

message erreur

Bonsoir,

je ne parviens pas à reproduire le problème que tu rencontres avec ton code.

cependant je modifierais cette instruction

If f.Cells(I, 2) <> "" Then D(f.Cells(I, 2)) = ""

ainsi

If f.Cells(I, 2) <> "" Then D(f.Cells(I, 2).value) = ""

sinon la clé pour le dictionnaire sera l'objet cellule et non la valeur de la cellule, (mais cela n'a pas l'air de gêner pour ce que tu veux obtenir comme résultat)

Bonjour,

Quelle est la feuille active ?

Cdlt.

Bonjour Jean-Eric

je m’excuse de retard j'avais des problèmes de connexion

la feuille active est la feuil 2 qui se nommé "FACTURE"

après le bug il à créer une feuil 3 et la renommé "FACTURE" comme là photo

Bonjour h2so4

Merci pour vos remarques mais ses modifications n'ont pas résolue le problème.

Rechercher des sujets similaires à "bug fichier liste deroulante"