Afficher uniquement des blocs de lignes.
Résolu/Fermé
ched64
Messages postés
52
Date d'inscription
lundi 1 avril 2013
Statut
Membre
Dernière intervention
9 mai 2016
-
29 juil. 2013 à 23:14
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 31 juil. 2013 à 18:17
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 31 juil. 2013 à 18:17
A voir également:
- Afficher uniquement des blocs de lignes.
- Afficher mot de passe wifi android - Guide
- Partage de photos en ligne - Guide
- Afficher appdata - Guide
- Site de vente en ligne particulier - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
4 réponses
Raymond PENTIER
Messages postés
58836
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
25 janvier 2025
17 275
30 juil. 2013 à 00:51
30 juil. 2013 à 00:51
Bonjour.
Je crois que tu le sais parfaitement : on ne peut opérer de filtre que sur des cellules contigües en colonne.
S'il y a une solution macro, tu recevras des propositions.
Sans macro, tu peux contourner le problème en t'inspirant de la discussion : https://forums.commentcamarche.net/forum/affich-28286817-trier-des-tableaux-selon-leur-titre
Cordialement.
Je crois que tu le sais parfaitement : on ne peut opérer de filtre que sur des cellules contigües en colonne.
S'il y a une solution macro, tu recevras des propositions.
Sans macro, tu peux contourner le problème en t'inspirant de la discussion : https://forums.commentcamarche.net/forum/affich-28286817-trier-des-tableaux-selon-leur-titre
Cordialement.
ched64
Messages postés
52
Date d'inscription
lundi 1 avril 2013
Statut
Membre
Dernière intervention
9 mai 2016
31 juil. 2013 à 13:14
31 juil. 2013 à 13:14
Bonjour,
Merci de ta réponse.
J'ai apporté quelques modifications, j'ai créé un colonne A avec une couleur identique dans celle-ci pour chaque bloc. Je peux ainsi filtrer comme je le voulais par couleur.
J'ai cependant pensé à une autre solution plus facile a utiliser, il s'agit de créer des boutons en haut de la page avec l'intitulé des blocs, puis en cliquant sur un bouton on va affiche uniquement le bloc concerné.
Par exemple :
- en cliquant sur le bouton 1 on verra uniquement les lignes donc la couleur de la case de la colone A est bleue.
- en cliquant sur le bouton 2 on verra uniquement les lignes donc la couleur de la case de la colone A est rouge
- en cliquant sur le bouton TOUS on verra Toutes les lignes.
Quelqu'un saurait-il comment faire cela sous VBA.
Merci de votre aide ;)
Cédric
Merci de ta réponse.
J'ai apporté quelques modifications, j'ai créé un colonne A avec une couleur identique dans celle-ci pour chaque bloc. Je peux ainsi filtrer comme je le voulais par couleur.
J'ai cependant pensé à une autre solution plus facile a utiliser, il s'agit de créer des boutons en haut de la page avec l'intitulé des blocs, puis en cliquant sur un bouton on va affiche uniquement le bloc concerné.
Par exemple :
- en cliquant sur le bouton 1 on verra uniquement les lignes donc la couleur de la case de la colone A est bleue.
- en cliquant sur le bouton 2 on verra uniquement les lignes donc la couleur de la case de la colone A est rouge
- en cliquant sur le bouton TOUS on verra Toutes les lignes.
Quelqu'un saurait-il comment faire cela sous VBA.
Merci de votre aide ;)
Cédric
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
31 juil. 2013 à 13:20
31 juil. 2013 à 13:20
Bonjour,
C'est possible.
1ère étape : Le classeur.
Je te prépare un truc, tu me dis si ça correspond à ton classeur.
Ok?
C'est possible.
1ère étape : Le classeur.
Je te prépare un truc, tu me dis si ça correspond à ton classeur.
Ok?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
31 juil. 2013 à 13:38
31 juil. 2013 à 13:38
Voici le fichier
Tu dis...
Tu dis...
ched64
Messages postés
52
Date d'inscription
lundi 1 avril 2013
Statut
Membre
Dernière intervention
9 mai 2016
31 juil. 2013 à 14:00
31 juil. 2013 à 14:00
Bonjour,
Cela correspond tout à fait à mon classeur. Je n'arrive pas a l'utiliser quand je clique sur une commande cela ne fait rien, je peux juste la modifier.
Peut-etre car j'ai une vieille version d'Excel au travail...? On dirait que la macro n'est pas activé.
En tout cas c'est tout à fait cela l'idée
Merci beaucoup
Cela correspond tout à fait à mon classeur. Je n'arrive pas a l'utiliser quand je clique sur une commande cela ne fait rien, je peux juste la modifier.
Peut-etre car j'ai une vieille version d'Excel au travail...? On dirait que la macro n'est pas activé.
En tout cas c'est tout à fait cela l'idée
Merci beaucoup
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
31 juil. 2013 à 14:17
31 juil. 2013 à 14:17
Bon!
Donc le principe est le suivant :
1- Activer les macros dans ton classeur,
2- colorier les groupes de cellules de la colonne A, de la couleur de ton choix,
3- Insérer les trois macros suivantes en
> taper ALT+F11 depuis le classeur
> Vous ouvrez donc l'éditeur VBA (de l'aide à ce sujet)
> Insertion/Module
> copié-collé ces codes dans le module
> fermer l'éditeur VBA
4- Dessiner un bouton (comme le petit prince...), attention à choisir un contrôle activeX, pas un bouton de formulaire!!!
5- Sélectionner une cellule précédemment colorée,
6- ALT+F8, choix testcouleur, Exécuter
7- relever le numéro communiqué, cliquez sur OK
8- en mode création, double cliquez sur le bouton de commande, l'éditeur VBA s'ouvre avec ces lignes :
9- remplacer ces lignes par :
10- Remplacer 46 par le nombre noté en 7.
11- fermer l'éditeur
12- passer en mode "pas création"
13- testez en cliquant sur le bouton.
14- répéter cette opération autant de fois que nécessaire.
Donc le principe est le suivant :
1- Activer les macros dans ton classeur,
2- colorier les groupes de cellules de la colonne A, de la couleur de ton choix,
3- Insérer les trois macros suivantes en
> taper ALT+F11 depuis le classeur
> Vous ouvrez donc l'éditeur VBA (de l'aide à ce sujet)
> Insertion/Module
> copié-collé ces codes dans le module
Sub FiltreSelonCouleurEnColonneA(Feuille As String, Couleur As Integer) Dim Lig As Long, DrLig As Long With Sheets(Feuille) Application.ScreenUpdating = False DrLig = .Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row For Lig = 3 To DrLig If .Cells(Lig, 1).Interior.ColorIndex = Couleur Or .Cells(Lig, 1) = "" Then .Rows(Lig).EntireRow.Hidden = False Else .Rows(Lig).EntireRow.Hidden = True End If Next Application.ScreenUpdating = True End With End Sub Sub AfficherTout(Feuille As String) Dim Lig As Long, DrLig As Long With Sheets(Feuille) Application.ScreenUpdating = False DrLig = .Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row For Lig = 3 To DrLig .Rows(Lig).EntireRow.Hidden = False Next Application.ScreenUpdating = True End With End Sub Sub testcouleur() MsgBox ActiveCell.Interior.ColorIndex End Sub
> fermer l'éditeur VBA
4- Dessiner un bouton (comme le petit prince...), attention à choisir un contrôle activeX, pas un bouton de formulaire!!!
5- Sélectionner une cellule précédemment colorée,
6- ALT+F8, choix testcouleur, Exécuter
7- relever le numéro communiqué, cliquez sur OK
8- en mode création, double cliquez sur le bouton de commande, l'éditeur VBA s'ouvre avec ces lignes :
Private Sub CommandButton1_Click() End Sub
9- remplacer ces lignes par :
Private Sub CommandButton1_Click() FiltreSelonCouleurEnColonneA "Feuil1", 46 End Sub
10- Remplacer 46 par le nombre noté en 7.
11- fermer l'éditeur
12- passer en mode "pas création"
13- testez en cliquant sur le bouton.
14- répéter cette opération autant de fois que nécessaire.
ched64
Messages postés
52
Date d'inscription
lundi 1 avril 2013
Statut
Membre
Dernière intervention
9 mai 2016
31 juil. 2013 à 15:22
31 juil. 2013 à 15:22
J'ai bien suivi ta démarche et je t'en remercie.
J'ai un message d'erreur qui s'affiche sous VBA et je n'arrive pas a le déboguer.
Voir fichier ci-joint:
https://www.cjoint.com/c/CGFpwlBac4n
Merci
J'ai un message d'erreur qui s'affiche sous VBA et je n'arrive pas a le déboguer.
Voir fichier ci-joint:
https://www.cjoint.com/c/CGFpwlBac4n
Merci
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
31 juil. 2013 à 15:26
31 juil. 2013 à 15:26
Le message d'erreur s'affiche car tu n'as pas de données dans la colonne A.
La colonne de référence, A en l'occurrence, doit être complète...
La colonne de référence, A en l'occurrence, doit être complète...
ched64
Messages postés
52
Date d'inscription
lundi 1 avril 2013
Statut
Membre
Dernière intervention
9 mai 2016
31 juil. 2013 à 15:32
31 juil. 2013 à 15:32
A oui en effet je viens de voir cela fonctionne merci beaucoup.
Je voulais faire cela mais uniquement avec la couleur de la case initialement.
Cela n'est peut être pas possible, je vais donc mettre des lettres en trasparence...
Je voulais faire cela mais uniquement avec la couleur de la case initialement.
Cela n'est peut être pas possible, je vais donc mettre des lettres en trasparence...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
31 juil. 2013 à 15:36
31 juil. 2013 à 15:36
C'est possible, mais il faudrait alors boucler sur toutes les cellules de la colonne A (soit 65536) pour savoir lesquelles sont colorées.
En plus j'ai ajouté une condition, si une cellule colonne A est vide, la ligne apparait toujours...
En plus j'ai ajouté une condition, si une cellule colonne A est vide, la ligne apparait toujours...
ched64
Messages postés
52
Date d'inscription
lundi 1 avril 2013
Statut
Membre
Dernière intervention
9 mai 2016
31 juil. 2013 à 18:14
31 juil. 2013 à 18:14
Oui je viens de voir en faisant des tests.
Est-il difficile de faire en sorte que ça prene en compte uniquement la couleur, (regarder les 65536 lignes comme tu dis...) ou bien fixer de manière à examiner les 500 premières lignes par exemple.
Le problème est qu'une fois mon fichier créé, d'autres personnes vont être amenées à l'utiliser et insérer des lignes dans les différentes blocs de couleurs, elles ne sauront pas qu'il faut rajouter un caractére dans la colonne A et le système ne sera plus bon...
Si jamais tu sais le faire merci encore
Est-il difficile de faire en sorte que ça prene en compte uniquement la couleur, (regarder les 65536 lignes comme tu dis...) ou bien fixer de manière à examiner les 500 premières lignes par exemple.
Le problème est qu'une fois mon fichier créé, d'autres personnes vont être amenées à l'utiliser et insérer des lignes dans les différentes blocs de couleurs, elles ne sauront pas qu'il faut rajouter un caractére dans la colonne A et le système ne sera plus bon...
Si jamais tu sais le faire merci encore
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
31 juil. 2013 à 18:17
31 juil. 2013 à 18:17
ok. Je te regarde ça demain.
Relance moi demain matin...
Bonne soirée
Relance moi demain matin...
Bonne soirée