Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/07/2011, 11h37   #1
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : avril 2011
Messages : 75
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant
Secteur : Service public

Informations forums :
Inscription : avril 2011
Messages : 75
Points : 11
Points : 11
Par défaut Filtre tableau données fusionnée

Bonjour à tous,

j’espère que vous avez passer un bon weekend, rallongé pour certains.


Voilà je voudrais savoir comment je peux faire pour qu'à partir d'un ComboBox_change je puisse masquer certaines lignes de mon fichier Excel, en fonction de la valeur sélectionner dans le Combobox. le problème c'est que la colonne qui me permet de choisir les données à afficher est composé de cellules fusionnées.

Je vous met en lien un fichier Excel pour faciliter la compréhension.

Bonne journée
Fichiers attachés
Type de fichier : xls Classeur1.xls (48,0 Ko, 3 affichages)
antoine2933 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 13h29   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonjour

Les cellules fusionnées sont un casse tête.

Pour ton fichier, copie les intitulés en X1:X8:
Age du chef de famille Profession du chef de famille Vie maritale Nombre de personnes au foyer Statut d'occupation du logement Revenus nets mensuels du foyer Catégorie d'agglomération Région Ensuite dans la propriété de ta ComboBox1, mets dans ListFillRange: X1:X8
(Tu peux cacher la colonne X)

Le code de ta ComboBox1_Change:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub ComboBox1_Change()
Dim c As Range
 
Application.ScreenUpdating = False
Rows("13:64").Hidden = False
If ComboBox1.ListIndex > -1 Then
    Set c = Range("B:B").Find(ComboBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
    Rows("13:64").Hidden = True
    c.MergeArea.EntireRow.Hidden = False
    Set c = Nothing
End If
End Sub
PS: pour afficher tout le tableau, efface le contenu de ta ComboBox1
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 13h53   #3
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : avril 2011
Messages : 75
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant
Secteur : Service public

Informations forums :
Inscription : avril 2011
Messages : 75
Points : 11
Points : 11
Merci Mercatog pour ton aide.

je viens de lancer le programme mais il stop sur la ligne

Code :
Rows("13:64").Hidden = False
"erreur d'éxécution '1004' : Impossible de définir la propriété Hidden de la classe range"

je ne comprend pas a quoi sert cette ligne de code, tu pourrais m'expliquer
antoine2933 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 14h06   #4
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : avril 2011
Messages : 75
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant
Secteur : Service public

Informations forums :
Inscription : avril 2011
Messages : 75
Points : 11
Points : 11
je viens de trouver mon erreur ton code marche nikel .

il me reste une petite question avant de fermer ce sujet.

Est ce que je pourrais rajouter dans le combobox "Ensemble" qui permettrait de restituer l'ensemble des données ou est ce que l'on doit forcément éffacer les intitulés??
antoine2933 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 14h18   #5
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Tu ajoute en X9: Ensemble et dans propriété de ta combobox1 ListFillRange: X1:X9

Le code serait
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub ComboBox1_Change()
Dim c As Range
 
Application.ScreenUpdating = False
Rows("13:64").Hidden = False
If ComboBox1.ListIndex > -1 Then
    Set c = Range("B:B").Find(ComboBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then
        Rows("13:64").Hidden = True
        c.MergeArea.EntireRow.Hidden = False
        Set c = Nothing
    End If
End If
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 14h23   #6
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : avril 2011
Messages : 75
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant
Secteur : Service public

Informations forums :
Inscription : avril 2011
Messages : 75
Points : 11
Points : 11
Merci beaucoup Mercatog pour le code
je vais le regarder de plus prés pour bien le comprendre.

Passe une bonne journée

Antoine
antoine2933 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h07.


 
 
 
 
Partenaires

Hébergement Web