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

fonction permettant de ne plus avoir d'espace vide

F

Franck

Guest
Bonsoir, ou bonne nuit ou bonjour enfin bon je ne m'en sort pas


J'ai une colonne avec une alternance de données et de case vides. J'aimerais grace à une fonction, avoir une autre colonne à coté qui reporte mes données sans les espaces vides. Et cela sans macro sinon c"est trop facile !

A Bientôt et merci d'avance
 
J

Jean-Marie

Guest
Bonsoir

Essaye cette formule matricielle, il faut la valider par Ctrl+Shift+Entrer

=SI(NB.SI(B$1:B$200;"><")>=LIGNES(C$1:C1);INDEX(B$1:B$200;PETITE.VALEUR(SI(B$1:B$200="";200;LIGNE(B$1:B$200));LIGNES(C$1:C1))*1);"")

B$1:B$200 correspond à la plage de cellules A (une formule matricielle n'aime pas les colonnes entières).
C$1:C1 représente la plage d'affichage de destination, C1 est ici la référence de la cellule qui contient la première donnée affichée. La première cellule de la plage doit restée sous cette forme, c'est-à-dire en absolue.
Après avoir mis cette formule, tu fais un glisser/déposer vers le bas.

Cette partie contrôle le nombre de valeurs qui devront être affichées SI(NB.SI(B$1:B$200;"><")>=LIGNES(C$1:C1);

Celle ci INDEX(B$1:B$200;PETITE.VALEUR(SI(B$1:B$200="";200;LIGNE(B$1:B$200));LIGNES(C$1:C1))*1) retourne la donnée.

Si tu y n'arrive pas, place un fichier sur le forum

@+Jean-Marie
 
F

Franck

Guest
Merci à EricS et Jean-Marie

Réponse à Erics: L'alternance est aléatoire

Réponse à Jean-Marie: je n'arrive pas à faire fonctionner ta fonction (c'est un comble). Pourrais tu jeter un coup d'oeil sur le fichier joint et y écrire la fonction

C'est vraiment sympa de me consacrer un peu de temps
 
E

EricS

Guest
RE

Si tu veux que Jean-Marie t'aide, il faut joindre le fichier qui à priori est resté chez toi.

Peut-être a-t'il un nom avec accents ou espaces ou n'est-il pas zippé

dans ces cas, il n'est pas pris en compte par le serveur

A+
 
J

Jean-Marie

Guest
Bonjour tout le monde

Voici la formule adaptée suivant l'exemple donné par Franck

=SI(NB.SI(B$6:B$200;"><")>=LIGNES(C$1:C1);INDEX(B$6:B$200;PETITE.VALEUR(SI(B$6:B$200="";200;LIGNE(C$1:C$194));LIGNES(C$1:C1))*1);"")

@+Jean-Marie
 

Discussions similaires

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