Décalage automatique d'une plage de cellule

Bonjour

je dispose dans ma feuille de calcul , d'une colonne prealablement remplie automatiquement , si je souhaite supprimer le contenu d'une cellule ou meme plusieurs est il possible de faire remonter automatiquement la plage de cellules suivante de facon à ce que la cellule liberée soit remplie à la facon d'un tableau d'affichage dans une gare ? je joint mon fichier ainsi que les explications

Merci pour toute remarque quand à la faisabilité

Cordialement

Bonjour,

Il suffit de trier la plage,

une petite macro sera faire çà

dis-nous si çà t'intéresse

Amicalement

Claude

bonjour , merci pour ta réponse , peux tu m'expliquer comment proceder ?

exemple avec un double-clic dans la plage

Public Flag As Boolean

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Lg&
Lg = Range("c" & Rows.Count).End(xlUp).Row
    If Flag Then Exit Sub
    If Not Application.Intersect(Target, Range("c6:d" & Lg)) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        Flag = True
        Range("c6:d" & Lg).Sort _
            Key1:=Range("c6"), Order1:=xlAscending, _
            Key2:=Range("d6"), Order2:=xlAscending, _
        Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
        Range("c6").Activate
    End If
Flag = False
End Sub

Claude

Merci Dubois !!!! ton code marche parfaitement , c'est tres aimable à toi et merci pour le temps que tu y a consacré

bonne journée


bonsoir , disposant du présent code qui me permet d'operer un tri sur la colonne C de me feuille lorsque je vide une ou plusieurs cellules de cette meme colonne tout en remontant successivement les plages de cellules se trouvant plus bas

si mon tableau est de dimension C6:D17 comment modifier ce code pour pouvoir operer un tri cette fois ci dans la colonne D

et non plus sur la colonne C ?

    Public Flag As Boolean

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Lg&
    Lg = Range("c" & Rows.Count).End(xlUp).Row
        If Flag Then Exit Sub
        If Not Application.Intersect(Target, Range("c6:d" & Lg)) Is Nothing Then
            If Target.Count > 1 Then Exit Sub
            Flag = True
            Range("c6:d" & Lg).Sort _
                Key1:=Range("c6"), Order1:=xlAscending, _
                Key2:=Range("d6"), Order2:=xlAscending, _
            Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
            Range("c6").Activate
        End If
    Flag = False
    End Sub

Merci

Rechercher des sujets similaires à "decalage automatique plage"