XL 2019 boucle Enlever blanc decaler cellules

Hoareau

XLDnaute Occasionnel
Bonjour

Avec la macro ci-dessous, j'essaie d'enlever les blancs en allant vers la gauche (cellules non remplies)

Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp

fonctionnait avec des colonnes

Pour simplifier cette syntaxe en allant de la droite vers la gauche en enlevant les blancs

ci-joint fichier

merci

Sub test()
Set test = Range("A1:f10")

For Each c In test

Range(c.Offset(0, 0), c.Offset(0, 42)).Select
Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp


Next




End Sub
 

Pièces jointes

  • test.xlsm
    295.1 KB · Affichages: 12

Jacky67

XLDnaute Barbatruc
Bonjour,
Essayer comme ceci
VB:
Sub test1()
Range("B2:AL15").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
End Sub
Ou
VB:
Sub test1()
Range("a1").CurrentRegion.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
End Sub
 
Dernière édition:

Hoareau

XLDnaute Occasionnel
Bonjour

Ma première recherche ne m'avait pas permis de trouver, pourquuoi ?
Je croyais que cela n'existait pas
m'étant aperçu que cela existait, entre temps j'ai trouvé cette solution, mais certaines lignes sautent

peut être à cause du libéllé du contenu

Range(c.Offset(0, 0), c.Offset(0, -39)).Select
Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft

sinon cela fonctionne

En partant directement de la gauche cela ne fonctionne pas

merci
 

Hoareau

XLDnaute Occasionnel
Rien de tel
Selection.Resize(, 40).SpecialCells(xlCellTypeBlanks).Delete xlShiftToLeft
fonctionne mais je ne comprend pas pourquoi
Quand j'ai essayé xlShiftToLeft en partant de la droite avec offset, cela semblait ne pas fonctionner
d'ou colonne en negatif
 

Discussions similaires

Statistiques des forums

Discussions
312 025
Messages
2 084 734
Membres
102 645
dernier inscrit
Bleach5962