Décalage

*sansa* Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour ,
J'aurais besoin d'aide pour un programme VBA, j'aimerais décaler toute les valeurs non vide sur la gauche sans que mes colonnes soit supprimé.
J'aimerais que le mise en forme ne change pas sur mon tableau.
Le code que j'ai réalisé est le suivant:
Sauf que je supprime les colonnes et je ne sais pas comment faire.

Private Sub Decalage()
   
    Dim rPlage As Range
    Dim lgLig As Integer
    Dim lgCol As Long
            
 
    Set rPlage = Range("F56:U56")

    For lgLig = 56 To 56
    
        For lgCol = rPlage.Columns.Count To 1 Step -1
            Cells(lgLig, lgCol).Select
            If Cells(lgLig, lgCol).Value = "" Then Selection.Delete Shift:=xlToLeft
        Next lgCol
    Next lgLig
End Sub

Private Sub MàJtableau()
    Call Decalage
End Sub


Si quelqu'un peut m'aider ;)
Merci d'avance

EDIT: Ajout de la coloration syntaxique.

2 réponses

ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
Bonjour Sansa, bonjour le forum,

Peut-être comme ça :

Private Sub Macro1()
Dim PL As Range
Dim COL As Integer

For COL = 21 To 6 Step -1
    If Cells(56, COL).Value = "" Then Cells(56, COL).Delete Shift:=xlToLeft
Next COL
End Sub

0
*sansa* Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour thatheme,
Merci d'avoir pris de ton temps pour me répondre mais cela ne marche pas non plus avec ton code. Toute le mise en forme de mon tableau ce décale vers la gauche aussi .
Bonne journée
0
ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
Bonjour Sansa, bonjour le forum,

Ok je vois. Essaie comme ça alors :

Private Sub Macro1()
Dim PL As Range
Dim COL As Integer

For COL = 21 To 6 Step -1
    If Cells(56, COL).Value = "" Then 
        Cells(56, COL+1).Copy Cells(56, COL)
        Cells(56, COL+1).Clear
    End If
Next COL
End Sub


À plus,
ThauTheme
0