Rechercher : dans
Par :

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

Dernière réponse le 4 mar 2009 à 15:14:18 EdwardX, le 24 jan 2009 à 20:41:22 
 Signaler ce message aux modérateurs

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!

Meilleures réponses pour « Existe t il la formule pour Excel... » dans :
Formules Excel de base VoirVoici quelques formules de bases qui sont faciles à réaliser et qui peuvent donner un peu de vie à une feuille Excel ! Pour cette astuce, on supposera que l’on veut que le résultat s’affiche dans la cellule B10 et on se servira principalement des...
Formules EXCEL de Base 2 VoirOn a vu la fonction SI La fonction ET est également interressante. Combinée à SI, celà donne : =SI(ET(condition1;condition2;.......conditionZ);vrai;faux) on affiche les différentes conditions à vérifier (ex : B3>C2 ....C2=B9; etc..). si toutes...

1

gbinforme, le 24 jan 2009 à 21:59:30

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 ?
Toujours zen

Répondre à gbinforme

2

EdwardX, le 24 jan 2009 à 22:23:08

Je les remplis avec la fonction RECHERCHV il y des cases où le résultat peut être 0 où une donnée...

Répondre à EdwardX

3

EdwardX, le 24 jan 2009 à 22:25:58

Et je veux savoir peut on faire que quand le résultat est 0 la ligne soit masquée...

Répondre à EdwardX

4

momo, le 25 fév 2009 à 19:28:55

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

Répondre à momo

5

Nico, le 25 fév 2009 à 19:41:31

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 ?

Répondre à Nico

6

G.David, le 3 mar 2009 à 11:32:18

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
le respect n'est pas un dû il se merite  
Cordialement     G.David

Répondre à G.David

8

momo, le 3 mar 2009 à 15:26:50

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

Répondre à momo

7

arrial, le 3 mar 2009 à 13:48:47

 





… 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  

Répondre à arrial

9

momo, le 3 mar 2009 à 15:33:17

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

Répondre à momo

10

G.David, le 3 mar 2009 à 17:13:05

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 le respect n'est pas un dû il se merite  
Cordialement     G.David

Répondre à G.David

13

momo, le 3 mar 2009 à 17:30:58

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 ?

Répondre à momo

14

gbinforme, le 3 mar 2009 à 17:48:41

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.

Toujours zen

Répondre à gbinforme

16

momo, le 3 mar 2009 à 18:18:59

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

Répondre à momo

11

G.David, le 3 mar 2009 à 17:20:02

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 le respect n'est pas un dû il se merite  
Cordialement     G.David

Répondre à G.David

12

arrial, le 3 mar 2009 à 17:26:33

 




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 …




 

Répondre à arrial

15

momo, le 3 mar 2009 à 17:56:14

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

Répondre à momo

17

arrial, le 4 mar 2009 à 07:39:09

"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.



@+

Répondre à arrial

18

momo, le 4 mar 2009 à 15:04:04

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

Répondre à momo

19

 momo, le 4 mar 2009 à 15:14:18

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)

Répondre à momo