Combiner des tableaux en omettant les lignes vides

siocnarf

XLDnaute Occasionnel
Bonjour,

Dans un même onglet, j'ai 2 tableaux. Je souhaite en tout temps que les lignes de mon second tableau (colonne H) s'ajoutent au bas du premier tableau mais pas les lignes vides ni le ?. Donc, à terme, toutes les lignes du tableau dans la colonne A devront être pleines.

Est-il possible avec une formule de réaliser cela???

Merci,

François Racine
 

Pièces jointes

  • test.xls
    21.5 KB · Affichages: 33
  • test.xls
    21.5 KB · Affichages: 39
  • test.xls
    21.5 KB · Affichages: 38

CISCO

XLDnaute Barbatruc
Re : Combiner des tableaux en omettant les lignes vides

Bonsoir

Une solution en pièce jointe, avec une formule matricielle à valider avec Ctrl + maj temporaire + entrer. Il faut tirer la formule encore plus vers le bas.

@ plus
 

Pièces jointes

  • 297781d1391713076-combiner-des-tableaux-en-omettant-les-lignes-vides-test.xls
    37 KB · Affichages: 27

siocnarf

XLDnaute Occasionnel
Re : Combiner des tableaux en omettant les lignes vides

Bonjour,

Très impressionnant! C'est exactement ce que je recherche.
=SIERREUR(INDEX(E:E;PETITE.VALEUR(SI((E:E<>"Nom des contacts")*(E:E<>"?")*(E:E<>"");LIGNE(E:E));LIGNES(A$54:A58)));"")
Je peine toutefois à comprendre la logique.

Merci,

François
 

CISCO

XLDnaute Barbatruc
Re : Combiner des tableaux en omettant les lignes vides

Bonjour

En A42
=SIERREUR(INDEX(H:H;PETITE.VALEUR(SI((H:H<>"Nom des contacts")*(H:H<>"?")*(H:H<>"");LIGNE(H:H));LIGNES(A$41:A41)));"")
(H:H<>"Nom des contacts") renvoie VRAI lorsque le contenu de la cellule en colonne H est différent de l'expression "Nom des contacts" et FAUX dans les autres cas.
(H:H<>"?") renvoie VRAI lorsque le contenu de la cellule en colonne H est différent de "?" et FAUX dans les autres cas.
(H:H<>"Noms des contacts")*(H:H<>"?") renvoie VRAI*VRAI, donc 1, lorsque le contenu de la cellule en colonne H:H est différent de "Noms des contacts" et de "?" (le produit remplace un ET).
Ainsi de suite avec les termes qu'on veut éliminer, ici "".
Si le produit (H:H<>"Nom des contacts")*(H:H<>"?")*(H:H<>"") renvoie 1; Excel garde en mémoire le n° de la ligne en cours.
PETITE.VALEUR(......;LIGNES(A$41:A41)) renvoie la première PETITE.VALEUR de la liste des n° de lignes gardées en mémoire, puis, en dessous, le second (LIGNES(A$41:A41) est devenu LIGNES(A$41:A42), ce qui donne 2), puis en dessous, le troisième, et ainsi de suite.

INDEX(H:H;PETITE.VALEUR(......)) renvoie le contenu de la ligne indiquée par PETITE.VALEUR de la colonne H:H.

Lorsqu'il ni y a plus rien à afficher, SIERREUR(......;"") renvoie "".

On travaille en matriciel, pour que la formule fasse le travail sur toute la colonne H:H et pas uniquement sur H1.

@ plus
 

Discussions similaires

Statistiques des forums

Discussions
312 555
Messages
2 089 551
Membres
104 210
dernier inscrit
mjub