Plage de données

Bonjour,

Je souhaiterais effacer une plage de données voici mon code :
Sub Effacer()
Worksheets("Feuil1").Activate

Dim maPlage As Range
Dim DernLigne As Long
Dim DernCol As Long

DernLigne = Range("A" & Rows.Count).End(xlUp).Row
DernCol = Cells(1, Columns.Count).End(xlToRight).Column
Set maPlage = Range("A5:" & DernCol & DernLigne)
maPlage.ClearContents
maPlage.ClearFormats
End Sub

Même chose pour sélectionner une plage et faire un quadrillage.

JE voudrais aussi mettre des filtres uniquement sur ma ligne 5 de la colonne 1 à N (variable).

Merci de m'indiquer comment faire.

Cordialement.

2 réponses

  1. Tu remplaces les constantes (N° de lignes et de colonnes) par tes variables
    ex
    .Cells(5, 1) à remplacer par .cells(li,co)
    li et co seront bien entendu initialisée avant, mais là, ça va dépendre de ce que tu veux faire
    1. Bonjour

      Sub Effacer()
      Dim maPlage As Range
      Dim DernLigne As Long
      Dim DernCol As Long
      With Worksheets("Feuil1")
        DernLigne = .Range("A" & Rows.Count).End(xlUp).Row
        DernCol = .Cells(1, Columns.Count).End(xlToRight).Column
        If DernLigne < 5 Then DernLigne = 5
        Set maPlage = .Range(.Cells(5, 1), .Cells(DernLigne, DernCol))
        maPlage.ClearContents
        maPlage.ClearFormats
      End With
      End Sub
      
      Sub Quadriller()
      Dim maPlage As Range
      With Worksheets("Feuil1")
        Set maPlage = .Range(.Cells(5, 5), .Cells(10, 10))
        maPlage.Borders.LineStyle = xlContinuous
      End With
      End Sub
      
      Sub Filtre()
      Dim n As Long
      Dim maPlage As Range
      n = 5
      With Worksheets("Feuil1")
        Set maPlage = .Range(.Cells(5, 1), .Cells(5, n))
        maPlage.AutoFilter
      End With
      End Sub

      Cdlmnt
      1. Merci mais je ne parviens pas à faire fonctionner la fonction effacer ni quadriller car mon nombre de colonne et de ligne sont variable.