Bonjour,
J'ai un rapide travail de fichier dans le cadre de mon stage. Le problème est le suivant, le fichier comporte des demandes de logement avec une multitude de colonne dont 10 colonnes qui représente le choix des communes (Feuille "Stats" Colonne BB à BH) Je souhaitais y intégrer une cellule (cellule BB1) qui afficherai la liste villes saisies et une fois la ville choisi que toutes les demandes ayant la ville saisie dans les 10 communes de choix s'affichent.
Pour cela j'ai établi un code à l'aide de différents aides sur les forums cependant je n'arrive pas a voir pourquoi la liste déroulante ne s'affiche pas cellule BB1. Seul le balayage des colonnes pour établir la liste de villes saisies fonctionne. Il faudrait une liste déroulante (liste déroulante avec comme choix toutes les villes détectés par le balayage).
Merci de votre aide. Le fichier est en PJ pour y voir plus claire.
	
	
	
	
	
		
	
		
			
		
		
	
				
			J'ai un rapide travail de fichier dans le cadre de mon stage. Le problème est le suivant, le fichier comporte des demandes de logement avec une multitude de colonne dont 10 colonnes qui représente le choix des communes (Feuille "Stats" Colonne BB à BH) Je souhaitais y intégrer une cellule (cellule BB1) qui afficherai la liste villes saisies et une fois la ville choisi que toutes les demandes ayant la ville saisie dans les 10 communes de choix s'affichent.
Pour cela j'ai établi un code à l'aide de différents aides sur les forums cependant je n'arrive pas a voir pourquoi la liste déroulante ne s'affiche pas cellule BB1. Seul le balayage des colonnes pour établir la liste de villes saisies fonctionne. Il faudrait une liste déroulante (liste déroulante avec comme choix toutes les villes détectés par le balayage).
Merci de votre aide. Le fichier est en PJ pour y voir plus claire.
		Code:
	
	
	Private Sub Worksheet_Change(ByVal Target As Range)
'creation de liste a partir de la feuille Liste
'---Target est la cellule avant changeement
'creation de la liste1
   For N = 3 To Sheets("Listes").Range("A65536").End(xlUp).Row
    liste = liste & Sheets("Listes").Range("A" & N) & ","
    If N > 3 Then liste1 = liste1 & Sheets("Listes").Range("A" & N) & ","
  Next N
  'si on rajoute un numéro de demande
If Target.Column = 54 And Target.Row > 3 Then
'mise a jour de la liste de validation des colonnes O e P
   With Target.Offset(0, 54).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=liste
    End With
    With Target.Offset(0, 55).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=liste
    End With
End If
'Si c'est la cellule bb1 qui a changé
If Target.Address = "$BB$1" Then
Application.ScreenUpdating = False
'on demasque toutes les lignes
Rows.Hidden = False
'pour Tous on quitte la sub
  If Target = "TOUS" Then Exit Sub
'balayage
For N = 6 To Range("BB65536").End(xlUp).Row
'si colonne
   If Range("BB" & N) = Target Or Range("BC" & N) = Target Or Range("BD" & N) = Target Or Range("BE" & N) = Target Or Range("BF" & N) = Target Or Range("BG" & N) = Target Or Range("BH" & N) = Target Then
   'on demasque la ligne
     Rows(N).Hidden = False
   Else
   'sinon on la masque
     Rows(N).Hidden = True
   End If
Next N
Application.ScreenUpdating = True
End If
End Sub