Afficher uniquement des blocs de lignes.
Résolu ched64 Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention - 31 juil. 2013 à 18:17
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention - 31 juil. 2013 à 18:17
A voir également:
- Afficher uniquement des blocs de lignes.
- Partage de photos en ligne - Guide
- Afficher mot de e wifi android - Guide
- Forum Powerpoint
- Forum Excel
- Afficher taille dossier windows - Guide
4 réponses
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.sitesdebloques.org/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.sitesdebloques.org/forum/affich-28286817-trier-des-tableaux-selon-leur-titre
Cordialement.
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
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
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- er 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- er 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.
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-t:
https://www.ct.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-t:
https://www.ct.com/c/CGFpwlBac4n
Merci
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