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

XL 2019 décalage cellule si vide

gg13

XLDnaute Occasionnel
Bonjour,
Je voudrais faire un tri dans une colonne (celle de gauche) en supprimant toutes les cellule contenant "* " et en décalant vers le haut pour avoir
une suite continue sans "trou" comme ci dessous à droite.
Il est possible de faire une boucle sur l'ensemble des cellules mais il doit exister une formule plus rapide et efficace mais je ne la connais pas.
Merci de votre aide si vous connaissez la solution.
GG13

A1A1
A2A2
*A4
A4A6
*A7
A6A8
A7A9
A8A13
A9A14
*A15
*A19
*A20
A13
A14
A15
*
*
*
A19
A20
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @gg13 , @vgendron ,

Une méthode très rapide qui ne trie pas les éléments.
Un exemple dans le classeur joint (20 000 lignes). Cliquez sur le bouton Hop!
Le code est dans Module1:
VB:
Sub Asterisque()
Dim i&, t, n&
   With Sheets("Feuil1")
      i = .UsedRange.Row + .UsedRange.Rows.Count: t = Range("a1").Resize(i)
      For i = 1 To UBound(t)
         If t(i, 1) <> "" And t(i, 1) <> "*" Then n = n + 1: t(n, 1) = t(i, 1)
      Next i
      .Range("a1").EntireColumn.ClearContents
      If n > 0 Then .Range("a1").Resize(n) = t
   End With
End Sub
 

Pièces jointes

  • gg13- 36 étoiles- v1.xlsm
    129 KB · Affichages: 8

gg13

XLDnaute Occasionnel
mapomme MERCI
mais je ne comprends rien a cette formule, je me demande où vous trouvez toutes ces infos.
Est-ce qu'il existe sur internet un site qui explique toutes ces formules ???
gg13
 

Discussions similaires

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