Existe-t-il la formule pour Excel...

Fermé
EdwardX - 24 janv. 2009 à 20:41
 momo - 4 mars 2009 à 15:14
Bonjour,
Existe-t-il la formule pour Excel qui permettrait de cacher les lignes si elles sont vides et les faire apparaitre si elles sont remplies?
Merci d'avance!
A voir également:

10 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 686
24 janv. 2009 à 21:59
bonjour

Ce que tu demandes est possible en VBA mais c'est aussi une utopie car si les lignes vides sont cachées comment vas-tu faire pour les remplir ?
0
Je les remplis avec la fonction RECHERCHV il y des cases où le résultat peut être 0 où une donnée...
0
Et je veux savoir peut on faire que quand le résultat est 0 la ligne soit masquée...
0
Bonjour, je viens de lire ta question et j'ai le meme probleme; or je remarque qu'au jour d'aujourd'hui ( 25 .02.2009) il n'y a aucune reponse! En as-tu eu? si oui peux-tu m'en faire part?
Merci
0
Bonsoir
Peut_être en ajoutant une feuille d'affichage qui prendrait ses données dans la feuille actuelle par recherchev() uniquement si la valeur de la cellule est différente de 0 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
G.David Messages postés 768 Date d'inscription vendredi 21 novembre 2003 Statut Membre Dernière intervention 1 juin 2020 203
3 mars 2009 à 11:32
cfeci fait ce que tu demandes lorsque tu entre 0 dans une cellule la validation par entrée (si entrée renvoies à la ligne en dessous ce qui est généralement le cas en standard)
dans le code de la feuille
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Offset(-1, 0).Value = 0 Then
ActiveCell.Offset(-1, 0).EntireRow.Hidden = True
End If
End Sub
0
Bonjour David, merci pour la reponse, mais je n'arrive pas a lancer la macro, il manque quelque chose et comme je suis debutant en la matiere, je ne trouve pas; j'ai fait un "copie" "colle" pour importet la formule dans le "visual basic" et quand je clique sur "Executer/sub user form" la formule n'apparait pas dans la fenetre??
Pourrais-tu me depanner avec ceci?

Merci d'avance
Maurice
0
arrial Messages postés 1753 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 29 décembre 2023 250
3 mars 2009 à 13:48
 





… je pense que c'est possible avec un filtre automatique, et, pour que ce soit simple à utiliser, mettre une macro filtrage/défiltrage sur un bouton …





→ est différent de ""
renvoie les valeurs non vides, par exemple  
0
Bonjour Arrial,

Je veux bien essayer ta solution mais comme dit plus haut, je suis debutant, donc si tu veux bien ecrire la macro qui inclut les commandes dont tu referes cela m'arrangerait!!!!!

Merci

Maurice
0
G.David Messages postés 768 Date d'inscription vendredi 21 novembre 2003 Statut Membre Dernière intervention 1 juin 2020 203 > momo
3 mars 2009 à 17:13
losrque tu ouvres VBA
tu as à gauche les feuilles du classeur qui apparaissent en icône
tu cliques sur la feuil1
dans la fenêtre de l'éditeur tu cliques sur général et tu sélectionnes Worksheet
c'est ici que tu colles le code
après dans ta feuille quand tu entres un 0 et que tu fait entrée la ligne se masque
ce sont les macros événementielles
0
momo > G.David Messages postés 768 Date d'inscription vendredi 21 novembre 2003 Statut Membre Dernière intervention 1 juin 2020
3 mars 2009 à 17:30
Rebonjour David,

OK pour mettre la macro en place sur la feuille en question; mais du coup si je rentre la valeur "0" ceci me masque la ligne, et donc:
* comment faire pour faire reapparaitre les lignes pour d'autres eventuelles saisies?ou au moins une ligne ?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 686 > momo
3 mars 2009 à 17:48
bonjour

comment faire pour faire reapparaitre les lignes pour d'autres eventuelles saisies?ou au moins une ligne ?

Il me semble que c'est exactement ce que j'avais dit ici et il me semble que cette question n'a pas été suffisamment réfléchie.
0
momo > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
3 mars 2009 à 18:18
Bonjour gbinforme,
pour moi ce n'est pas utopie car la solution d'Arrial ( la macro) me permet de "trier par non vide" ce qui a pour effet de supprimer les vides et de "tous" ce qui a pour effet de reafficher toutes les lignes, meme les vides.
Donc en ce qui me concerne cette solution repond tres bien a ma demande
Merci quand meme de t'etre interesse au sujet
0
G.David Messages postés 768 Date d'inscription vendredi 21 novembre 2003 Statut Membre Dernière intervention 1 juin 2020 203
3 mars 2009 à 17:20
remarques ce n'est pas sur que ça marche en dehors de la saisie il faut que je rejette un œil au truc. Par contre: est ce qu'il faut traiter une plage où sont déjà entrés les zéros . Ce qui serait plus facile par macro lancer à l'activation de la page
0
arrial Messages postés 1753 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 29 décembre 2023 250
3 mars 2009 à 17:26
 




Pour faire simple, j'ai fait une colonne de test en colonne H (Field:=8)

H1="test" (la ligne 1 contient les titres de colonnes)
H2=NBVAL(A2:G2)

On tire la formule de H2 vers le bas, autant que nécessaire, pour s'appliquer à toutes les lignes (cela pourrait se faire avec une macro)

Sub filtrer()
Cells.Select
Selection.AutoFilter
Range("A1").Select
Selection.AutoFilter Field:=8, Criteria1:="<>0,0", Operator:=xlAnd
End Sub
Sub afficher()
Cells.Select
Selection.AutoFilter
Range("A1").Select
End Sub


Tu peux mettre un bouton avec le texte FILTRER et lui affecter (clic-droit) la macro filtrer(), puis un autre avec le texte AFFICHER et la macro afficher().


Tu peux ajuster le n° de ta colonne de test dans <Field:=8>, en remplaçant 8 par le rang de ta colonne …




 
0
Rebonjour Arrial, merci pour la reponse

J'ai pu mettre en place la macro et cela marche;

mais j'ai pas compris le truc de colonne de test en colonne H (field:=8)
ok pour :H1=test
ainsi que : H2=NBVAL(A2:G2)

si tu peux m'eclairer sur le 1er point ( H( field:=8) ??????????????????

Merci
0
arrial Messages postés 1753 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 29 décembre 2023 250
4 mars 2009 à 07:39
"mais j'ai pas compris le truc de colonne de test en colonne H (field:=8)
ok pour :H1=test
ainsi que : H2=NBVAL(A2:G2) "


► je réserve la ligne 1 aux titres de colonne. Je choisis de fabriquer une colonne de critère de filtrage en colonne H, et je rentre en titre de colonne 'test' : j'aurais pu mettre n'importe quoi ('toto') ; c'est juste pour respecter l'existence d'un titre de colonne

► nbval(a2:g2) va totaliser le nombre de cellules contenant quelque chose dans la ligne 2 (de la colonne A à la colonne précédent H)

► il ne reste plus qu'à filtrer sur toutes les lignes ne contenant pas la réponse '0', signifiant que la ligne est vide …



Il y a sûrement des méthodes plus élégantes avec 'WorkSheet' par exemple, mais je ne me suis pas appesanti sur le problème.



@+
0
Bonjour, avant tout + specialement MERCI a Arrial et David pour le soutien sur ce probleme; les solutions proposees sont interressantes ( cela me permet d'appprendre a gerer les macros, en connaitre de nouvelles etc.....) mais ne repondent pas a mon probleme initial et je pense que je dois reprendre depuis le depart:

* on part d'une feuille "tarifs" sur laquelle on rentre:
a1:code b1: designation c1: unitees d1: P.U H.T e1: TVA f1: TTC
En A2, a3,a4 etc.... tu rentres un code de ref genre :1,2,3,4 etc....
En E1 tu fais le calcul du montant de la TVA
En F1 tu fais le total TTC
Ces formules tu les copies vers le bas jusqu'environ disons A300 ( pour pas etre limite dans les enregistrements)
Donc ensuite tu veux ne pas faire apparaitre les cellules vides ( ref a la maccro de David, qui marche, mais tu dois entrer la valeur "0" dans toutes les cases vides une premiere fois!!!!!!!!!!!!!!)
Pour une nouvelle saisie, tu peux faire apparaitre toutes les cases en appliquant la macro de Arrial, et tu cliques sur "tout"( afficher) et tu recuperes la feuille complete, qui une fois les nouvelles donneees enregistrees, peut etre refiltree grace a cette meme macro selon tes choix ( jusqu'a ce point super!!!!!!!!!)

* Ensuite tu as une deuxieme feuille " Calcul" sur laquelle tu veux :
. Faire reapparaitre les colonnes A et B( ou une autre de ton choix) mais qui ont des valeurs, pas celles vide .


Si on peut avancer sur ce sujet dans un premier temps ce serait super; par aileurs je voulais vous informer que je vis au Canada ( Ontario du Nord) GMT -6, donc si je ne reponds pas toujours de suite, ne m'en vouler pas .
Merci pour le support
0
Juste un petit detail que j'ai oublie : quand tu fais reapparaitre les colonnes A et B(ou autre) sur la feuille "calcul", c'est en fonction des criteres de choix mis en place sur la feuille "donnees" avec la macro de Arrial, a savoir " tri croissant ou Tri decroissant .......etc)
0