Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Supprimer lignes vides dans liste de validation

hypo78

XLDnaute Impliqué
Bonjour,
j'ai une liste de validation qui fait référence à une plage contenant des cellules vides, ces cellules vides ne sont pas toujours les mêmes, j'aurais aimé supprimer ces lignes mais seulement dans la liste de choix.
Merci d'avance pour votre aide
 

JeanMarie

XLDnaute Barbatruc
Re : Supprimer lignes vides dans liste de validation

Bonjour

Tu dois passer par des cellules intermédiaires, il n'est pas possible de le faire directement dans la liste de validation.

Place un fichier exemple de ton fichier sur le forum, pour t'expliquer la marche à suivre.

@+Jean-Marie
 

hypo78

XLDnaute Impliqué
Re : Supprimer lignes vides dans liste de validation

merci pour vos réponses rapides, je vais regarder le fichier joint tout de suite, mais j'ai constaté que si je lis mon fichier avec Openoffice, dans les listes de validation, il y a une case à cocher qui s'appelle "tri dans ordre croissant" et çà fait exactement ce dont j'ai besoin.
 

hypo78

XLDnaute Impliqué
Re : Supprimer lignes vides dans liste de validation

j'ai supprimer tous les onglets sauf le 1 et ma base, gardé que la partie qui nous intéresse et mon fichier fait maintenant 47ko donc je peux vous le mettre en pièce jointe.
J'ai appliqué la méthode DV sans doublons, çà fonctionne presque sauf qu'il me met #NOM?
Quelqu'un sait pourquoi??
merci d'avance
 

Pièces jointes

  • feuille de garde essai.xls
    47 KB · Affichages: 139
  • feuille de garde essai.xls
    47 KB · Affichages: 150
  • feuille de garde essai.xls
    47 KB · Affichages: 158

JCGL

XLDnaute Barbatruc
Re : Supprimer lignes vides dans liste de validation

Bonjour à tous,

Tu poses la formule dans un cellule ET tu valides par Ctrl +Maj + Enter
Là tu as mis le texte dans la formule

A+
 

Pièces jointes

  • JC feuille de garde essai.zip
    12.1 KB · Affichages: 120
Dernière édition:

hypo78

XLDnaute Impliqué
Re : Supprimer lignes vides dans liste de validation


Oups, j'avais fait un copier/merder, avec avec un beau copier/coller çà fonctionne à merveille.
Encore merci à tous
 

Pièces jointes

  • feuille de garde essai.xls
    46.5 KB · Affichages: 125
  • feuille de garde essai.xls
    46.5 KB · Affichages: 107
  • feuille de garde essai.xls
    46.5 KB · Affichages: 103

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Supprimer lignes vides dans liste de validation

Bonjour,

Voir PJ

Pour supprimer les vides seulement:

=INDEX(CHAMP;PETITE.VALEUR(SI(NON(ESTNA(EQUIV(CHAMP;CHAMP;0)))*(CHAMP<>0)*(CHAMP<>"");EQUIV(CHAMP;CHAMP;0);"");LIGNE(INDIRECT("1:"&LIGNES(CHAMP)))))

JB
Formation Excel VBA JB
 

Pièces jointes

  • DVSansVides.zip
    12.2 KB · Affichages: 150
Dernière édition:

hypo78

XLDnaute Impliqué
Re : Supprimer lignes vides dans liste de validation

merci.
Maintenant je me suis servi de la liste compressée pour faire une recherchev, et j'aimerai refaire une nouvelle liste compressée par rapport à cette recherche et là çà ne fonctionne pas. Cà m'inscrit #nombre! dans toutes les cases. Une idée??
 

Pièces jointes

  • feuille de garde essai2.zip
    11.4 KB · Affichages: 57
  • feuille de garde essai2.zip
    11.4 KB · Affichages: 67
  • feuille de garde essai2.zip
    11.4 KB · Affichages: 64
Dernière édition:

JeanMarie

XLDnaute Barbatruc
Re : Supprimer lignes vides dans liste de validation

Bonjour tout le monde

Hypo, dans ton fichier que tu nous a transmis, tu avais une formule matricielle qui était fonctionnelle, sauf que le message d'erreur #NOMBRE! s'affiche quand les données sont épuisées.

Tu peux facilement supprimer ce message d'erreur :
1) modifie la référence de la plage nommée en CHAMP, en lui rajoutant une ligne, elle devient ='01'!$BH$4:$BH$34, ce qui fait 31 lignes
2) dans la cellule BH34 tape une espace
3) dans ta formule matricielle, on rajoute cette constante dedans
Code:
=INDEX(CHAMP;PETITE.VALEUR(SI(NON(ESTNA(EQUIV(CHAMP;CHAMP;0)));SI((EQUIV(CHAMP;CHAMP;0)=LIGNE(INDIRECT("1:"&LIGNES(CHAMP))))*(CHAMP>0)*(CHAMP<>"");EQUIV(CHAMP;CHAMP;0);[B]31[/B]));LIGNE(INDIRECT("1:"&LIGNES(CHAMP)))))

Dans la formule JB, on peut faire la même chose. Et on peut supprimer un comparateur
Code:
=INDEX(CHAMP;PETITE.VALEUR(SI(NON(ESTNA(EQUIV(CHAMP;CHAMP;0)))*(CHAMP>"0");EQUIV(CHAMP;CHAMP;0);[B]31[/B]);LIGNE(INDIRECT("1:"&LIGNES(CHAMP)))))

Mais c'est pas le sujet de mon post. Autre proposition sur une des possibilités de la fonction INDEX, en utilisant sa deuxième syntaxe. JC c'est le côté didactique, lol.


On peut donc définir une référence multiple de plages discontinues, gros inconvénient ces plages doivent être obligatoirement sur la même feuille.
Les plages peuvent avoir des dimensions différentes.

Dans le fichier, j'ai remplacé le contenu de la colonne BH par les positions Zone+(N°Ligne/100). Ces valeurs seront ensuite décompressées dans la formule index.

Code:
=INDEX((F4:O13;Y4:AH13;AR4:BA13;A1);MOD(PETITE.VALEUR(CHAMP;LIGNE(1:30));1)*100;0;ENT(PETITE.VALEUR(CHAMP;LIGNE(1:30))))

A1 évite la gestion d'erreur #NOMBRE! et, la chaîne " " le retour de la valeur 0 par la formule.

Voir le fichier....

La formule de validation de la cellule E19 est légèrement modifiée.

@+Jean-Marie

PS : Si vous pouviez à l'avenir mettre dans vos posts les formules dans les bornes
Code:
 [/ code], cela éviterai d'ouvrir vos fichiers pour voir vos propositions.
 

Pièces jointes

  • feuille de garde essai2.zip
    12.7 KB · Affichages: 95
  • feuille de garde essai2.zip
    12.7 KB · Affichages: 94
  • feuille de garde essai2.zip
    12.7 KB · Affichages: 102

JeanMarie

XLDnaute Barbatruc
Re : Supprimer lignes vides dans liste de validation

Re...

Ton fichier a un problème lors de la décompression.

Je pense que tu devrais pourvoir régler le message d'erreur, en appliquant ce que je mettais en début de mon précédent post.

@+Jean-Marie
 

JeanMarie

XLDnaute Barbatruc
Re : Supprimer lignes vides dans liste de validation

Re...

Pour information, la valeur #NOMBRE! retournée par la première formule, n'est pas de type texte, mais de type erreur (type =16)

Soit tu supprimes à la base ce message, ou tu utilises la fonction ESTERR(...)
Je n'ai pas compris ce que tu voulais obtenir dans la dernière colonne de ton tableau.

@+Jean-Marie
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…