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

Microsoft 365 Déplacer sans trier

Andrew47

XLDnaute Nouveau
Bonjour le forum, j'ai besoin de votre aide sur mes tableaux j'ai des noms qui me viennent d'une formule ce qui cause des espace vide. J'aimerais pour les transposer dans les tableaux sans les espace vide et dans le même ordre (sans trier) est-ce possible. Je vous fait parvenir mes tableaux en exemple avec le résultats souhaité.
Merci de votre collobaration
 

Pièces jointes

  • Tableaux.xlsx
    51 KB · Affichages: 8

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Andrew,
Le même sujet traité cette après midi avec la solution de l'auteur :
du type :
VB:
=FILTRE(F24:F43;NON(ESTVIDE(F24:F43)))
 

Andrew47

XLDnaute Nouveau
Bonsoir sylvanu, cette solution n'est pas bonne pour moi mes tableaux sont un en dessous de l'autre, avec d'autres composantes. j'avais déjà essayer avec décale mais sa fausse tout ce qu'il y a en dessous. Je crois qu'une solution VBA si possible serait préférable, faudrait que juste les noms se décale a partir de la première ligne, mon fichier global comprend trop de données en dessous quand sa décale tout deviens mélangé dans les autres cellules.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re, ... Oups! trop tard. Mais ça peut servir à d'autres.
Alors une approche en VBA avec :
VB:
Sub Arrange()
SupVides [B4:H12], [J4]
SupVides [B17:H25], [J17]
End Sub

Sub SupVides(Plage, Cel) ' Plage entrée, Cel : Cellule où coller la matrice de sortie.
Dim T, Ts, C%, L%, IndW%
T = Plage
ReDim Ts(1 To UBound(T), 1 To UBound(T, 2))
For C = 1 To UBound(T, 2)
    IndW = 1
    For L = 1 To UBound(T)
        If T(L, C) <> "" Then Ts(IndW, C) = T(L, C): IndW = IndW + 1
    Next L
Next C
Cel.Resize(UBound(Ts, 1), UBound(Ts, 2)) = Ts
End Sub
 

Pièces jointes

  • Tableaux (1).xlsm
    51.7 KB · Affichages: 1
Dernière édition:

Discussions similaires

Réponses
5
Affichages
353
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…