Eliminer des cellules vides automatiquement dans une liste [Résolu/Fermé]

Signaler
Messages postés
21
Date d'inscription
mercredi 6 février 2013
Statut
Membre
Dernière intervention
6 juin 2018
-
Messages postés
21
Date d'inscription
mercredi 6 février 2013
Statut
Membre
Dernière intervention
6 juin 2018
-
Bonjour,

J'ai une liste de départ de X éléments. Je sélectionne les 20 premiers dans un tableau et ensuite j'exclue certains éléments comprenant un "/" dans le nom par le biais de la formule : =SI(ESTNUM(TROUVE("/";F8));"";F8).
Du coup, je me retrouve avec une liste qui comporte des cellules vides.
J'aimerais avoir dans un autre tableau mes 12 premiers éléments sans avoir ces cellules vides (puisque qu'elle prennent une place dans mon classement des 12 pour rien.) Est ce possible?

Merci de votre aide,

Cordialement

5 réponses

Messages postés
17159
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
9 août 2020
4 163
Salut,

Si j'ai bien compris ton problème, tu as en colonne F une liste dans laquelle tu as effacer des cellules et tu souhaites récupérer cette liste sans les cellules vides

c'est bien cela
Messages postés
21
Date d'inscription
mercredi 6 février 2013
Statut
Membre
Dernière intervention
6 juin 2018

Oui c'est tout à fait ça. J'aimerais que cette liste se mette à jour automatiquement dans un tableau à coté (exemple la colonne G), sans ces cellules vides. Pour l'instant je fais un copier-coller à la main en ne sélectionnant que les cellules pleines et ce n'est pas très pratique...

Merci d'avance
Messages postés
17159
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
9 août 2020
4 163
Re,

commence par nommer la colonne F exemple Adress

ensuite tu vas créer un champ nommé, pour cela Gestionnaire de noms/Définir un nom/le nommer dans Nom exemple Zone et dans fait référence à saisir cette formule
si la liste se trouve sur la feuille nommée Feuil1 et que la liste commence cellule F2

=DECALER(Feuil1!$F$2;;;EQUIV("zzz";Feuil1!$F:$F))
ensuite en G2 tu colles cette formule matricielle qu'il faudra confirmer en cliquant en même temps sur 3 touches du clavier Ctrl, Shift et Entrée

=INDEX(Adres;MIN(SI(Zone<>"";SI(NB.SI(G$2:G2;Zone)=0;LIGNE(Zone)))))&""

Si tu fais bien la formule se placera entre {}
comme ceci
{=INDEX(Adres;MIN(SI(Zone<>"";SI(NB.SI(G$2:G2;Zone)=0;LIGNE(Zone)))))&""}
Messages postés
21
Date d'inscription
mercredi 6 février 2013
Statut
Membre
Dernière intervention
6 juin 2018

L'explication paraît claire mais je n'y arrive pas.. J'ai eu dans un premier temps "#NOM" puis maintenant cela ne m'affiche pas le premier nom qui apparait dans ma liste mais le 7e.
J'essaye de comprendre la formule mais n'y parviens pas.

Peut être que le problème vient du fait que je nomme mal ma colonne...
Que signifie "zzz" dans la formule?

Merci de votre aide
Messages postés
17159
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
9 août 2020
4 163
Re,

zzzz c'est uniquement pour chercher une valeur inexistante et obliger Excel de boucler sur toute la colonne, alors 3z ou 4,5 peu importe

alors commence par mettre la colonne F en surbrillance avec un simple clic sur le F de l'entête de la colonne, elle va se mettre en surbrillance, tu vas dans le gestionnaire des noms/Définir et tu la nommes adres
tu confirmes avec OK

garde la cellule F1 vide pour ne pas avoir à changer les formules que je te donne, attention également aux majuscules et minuscule (j'ai tout remis en minuscule)

reviens dans le gestionnaire des noms et tu vas créer un champ, dans nom saisi le nom souhaité dans mon exemple je l'ai nommé zone et comme formule tu colles

=DECALER(Feuil1!$F$2;;;EQUIV("zzz";Feuil1!$F:$F))

maintenant dans une cellule vide, colle cette formule

=INDEX(adres;MIN(SI(zone<>"";SI(NB.SI(O$2:O2;zone)=0;LIGNE(zone)))))&""

et avant de faire Entrée pour confirmer il faut en même temps cliquer sur les touches Ctrl, Shift (qui est la touche majuscule) et Entrée

si tu fais bien la formule se mettra entre {}

comme ceci
{=INDEX(adres;MIN(SI(zone<>"";SI(NB.SI(O$2:O2;zone)=0;LIGNE(zone)))))&""}

ensuite incrémente vers le bas en prenant le petit carré en bas à droite de la cellule contenant le formule et tire vers le bas
Messages postés
17159
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
9 août 2020
4 163
Re,

plus de nouvelles ?
Messages postés
21
Date d'inscription
mercredi 6 février 2013
Statut
Membre
Dernière intervention
6 juin 2018

Je suis vraiment désolé, mais j'ai tout réessayé et cela ne marche toujours pas, çà me donne des cellules vides aussi.
Je change bien vos noms de cellules dans la formule pour qu'elles correspondent aux miennes dans le fichier, j'ai même essayé de nommer les Noms autrement mais ca ne va pas.
Je pense que je fais mal la création du nom du fait que je sois sur Mac, je ne passe pas par les même choses que toi. Je fais insertion > Nom > je met Adress mais je ne sais pas où mettre "zone" sachant que j'arrive à mettre la formule dans "fait référence à"..

Je vous met en lien mon document, si jamais cela peut vous aider à y voir un peu plus clair...

https://www.cjoint.com/?3EBuf59KqAQ

J'aimerais retirer les cellules vide de la colonne "N" pour avoir une liste continue en "P".

Merci beaucoup de votre aide
Messages postés
17159
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
9 août 2020
4 163
Re,

Voila ton fichier, pour t'aider à comprendre j'ai un peu modifier le nom de la plage nommée Adres qui est devenue adres et du champ Zone qui est devenu list, ces changement ne change en rien le fonctionnement des formules

https://www.cjoint.com/c/CEBvA4Sf6JB
Messages postés
21
Date d'inscription
mercredi 6 février 2013
Statut
Membre
Dernière intervention
6 juin 2018

Merci ca marche au top!

J'ai compris mon erreur, dans la formule :
{=INDEX(adres;MIN(SI(zone<>"";SI(NB.SI(O$2:O2;zone)=0;LIGNE(zone)))))&""}
je prenais "N" en référence au lieu de "P"...

Merci du temps accordé,

Bien cordialement!