Supprimer les cases sans valeur

Fermé
Stifiella Messages postés 9 Date d'inscription jeudi 13 juin 2013 Statut Membre Dernière intervention 17 juin 2014 - 13 juin 2013 à 20:06
lupin94 Messages postés 26 Date d'inscription samedi 8 juin 2013 Statut Membre Dernière intervention 16 juin 2013 - 16 juin 2013 à 16:43
Bonjour,
voici mon problème sous Excel 2007:

J'ai le tableau suivant https://www.cjoint.com/?0FnuaZqyToj

Le but est de faire en sorte qu'il y ai une caisse par onglet et que chaque client ayant "2T" à l'intersection se retrouve dans l'onglet correspondant à sa caisse.
Jusqu'ici tout va bien.
Mon problème c'est que je me retrouve avec beaucoup de cases vides (le fichier est beaucoup plus petit que le tableau réel). Comment puis-je faire en sorte que les clients se retrouvent les uns sous les autres sans espaces entre eux et sans avoir à supprimer les cases une par une?
Merci par avance pour votre aide
A voir également:

11 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 688
13 juin 2013 à 21:00
Bonjour,

Avec cette macro événementielle qui s'exécute lorsque tu affiches l'onglet concerné :

https://www.cjoint.com/?CFnu7doXZyQ
0
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 705
13 juin 2013 à 21:07
Bonsoir

Une possibilité en rajoutant des colonnes
https://www.cjoint.com/?3Fnvhgigz3D

Cdlmnt
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
13 juin 2013 à 21:28
Bonjour,

en A3 de la feuille Caisse 1 :
=INDEX(Base!$A:$A;PETITE.VALEUR(SI(Base!$B$3:$B$88="2T";LIGNE(Base!$B$3:$B$88);65536);LIGNES($B$3:B3)))&""

A valider par Maj+Ctrl+Entrée et à tirer vers le bas

Pour la caisse 2 remplacer B par C
0
Stifiella Messages postés 9 Date d'inscription jeudi 13 juin 2013 Statut Membre Dernière intervention 17 juin 2014
13 juin 2013 à 21:58
Gbinform, ça ne fonctionne pas.
Via55, c'est un fichier partagé avec plusieurs personnes et il me semble compliqué de rajouter des colonnes sans fournir des explications que je ne saurais pas leur donne
Patrice, en tirant vers le bas, j'ai l'erreur NOMBRE qui apparait.

Merci pour votre aide mais visiblement je n'ai pas encore ma solution ou alors je ne suis vraiment pas douée!!!
0
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 705
13 juin 2013 à 22:19
Re Stifiella

Autre possibilité alors sans changer la feuille Base
En créant une feuille annexe qui est masquée aux utilisateurs
https://www.cjoint.com/?3Fnws5EU7yW
0

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

Posez votre question
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
13 juin 2013 à 22:03
Il faut valider la 1ère formule par Maj+Ctrl+Entrée !!!
puis tirer cette formule vers le bas
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié par Patrice33740 le 13/06/2013 à 22:05
PS : dans la barre des formules, la formule doit apparaître encadrée par des { }
0
Stifiella Messages postés 9 Date d'inscription jeudi 13 juin 2013 Statut Membre Dernière intervention 17 juin 2014
13 juin 2013 à 22:26
super Patrice ça fonctionne!
Merci beaucoup
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
13 juin 2013 à 22:28
Ton fichier en retour :
https://www.cjoint.com/?CFnwB4HSu1n
0
Stifiella Messages postés 9 Date d'inscription jeudi 13 juin 2013 Statut Membre Dernière intervention 17 juin 2014
14 juin 2013 à 18:49
Finalement j'aurai besoin d'information sur le fonctionnement de ta formule Patrice parce qu'elle ne fonctionne pas dans mon tableau d'origine. Elle fonctionne très bien dans mon exemple mais je n'arrive pas à l'adapter. Peux-tu m'expliquer un peu son fonctionnement pour que je puisse la transporter?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié par Patrice33740 le 14/06/2013 à 21:20
Bonjour,

Tout d'abord, il s'agit d'une formule matricielle (validée par Ctrl+Maj+Entrée et donc entre accolades {}), c'est à dire que la formule sera calculée pour chacune des cellules de la matrice ($B3$:$B$88) l'une après l'autre de B3 à B88.

En décomposant la formule :
SI(Base!$B$3:$B$88="2T";LIGNE(Base!$B$3:$B$88);65536), vérifie si la cellule B3 de Base est égale à 2T, si oui elle renvoie le numéro de la ligne B3 c'est à dire 3 et sinon elle renvoie 65536 c'est à dire le numéro de la dernière ligne de la feuille, puis elle vérifie la cellule B4 ... ainsi de suite jusqu'à B88.

LIGNES($B$3:B3) donne le nombre lignes depuis la cellule B3 jusqu'à la cellule B3 c'est à dire 1, sur la ligne suivante on a LIGNES($B$3:B4) qui donne 2, etc. ...

PETITE.VALEUR(SI(Base!$B$3:$B$88="2T";LIGNE(Base!$B$3:$B$88);65536);LIGNES($B$3:B3)) correspond donc à PETITE.VALEUR(Numéros des lignes contenant 2T;1) donne la 1ère plus petite valeur parmi toutes les valeurs résultant du SI() donc le numéro de la première ligne qui contient 2T. Sur la ligne suivante avec PETITE.VALEUR(Numéros des lignes contenant 2T;2) on obtient la 2ème plus petite valeur donc le numéro de la seconde ligne, etc. ...

INDEX(Base!$A:$A;numéro de ligne) donne la valeur correspondant au numéro de ligne située dans la colonne A de Base

=Valeur & "" permet d'obtenir "" lorsque la cellule est vide (au lieu de 0).

Cordialement
Patrice
0
Stifiella Messages postés 9 Date d'inscription jeudi 13 juin 2013 Statut Membre Dernière intervention 17 juin 2014
15 juin 2013 à 12:22
Merci beaucoup pour ta patience et ta réponse Patrice.
Je vais regarder tout ça de très près.
Encore merci
0
Stifiella Messages postés 9 Date d'inscription jeudi 13 juin 2013 Statut Membre Dernière intervention 17 juin 2014
16 juin 2013 à 00:45
Patrice,
j'ai encore une demande.
J'ai réussi à adapter ta formule à mon tableau, c'est super. Simplement je me rends compte qu'il me faudrait une chose de plus:
J'aimerai que le "2T" apparaissent en face du client 1 (donc dans la colonne B) dans la caisse 1. Peux-tu m'aider?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié par Patrice33740 le 16/06/2013 à 16:38
Bonjour,

En partant du principe que la formule en A fonctionne, il suffit de mettre en B3 :
=SI(A3>"";"2T";"")

Cordialement
Patrice
0
lupin94 Messages postés 26 Date d'inscription samedi 8 juin 2013 Statut Membre Dernière intervention 16 juin 2013 1
16 juin 2013 à 16:43
Bonjour j'ai un site qui pourrait je pense très bien t'aider :
https://openclassrooms.com/fr/courses
Bonne journée
-1
lupin94 Messages postés 26 Date d'inscription samedi 8 juin 2013 Statut Membre Dernière intervention 16 juin 2013 1
16 juin 2013 à 16:43
Dis moi si cela a pu t'aider.
-1