Effacer une ligne de A à N
j
Bonjour,
actuellement mon script efface la ligne complète, mais du coup il efface des formules que je ne voudrais pas effacer, ces formules étant placé en bout de ligne, j'aimerai plutôt effacer de A28 à N28 par exemple et pas toute la ligne.
Le script complet et la partie qui nous interesse en dessous
Sub ValidateOutputs()
Dim Outputs As Range
Dim Rooms As Range
Dim Output As Range
Dim HistoryPosition As Range
Set Rooms = ActiveWorkbook.Names("Rooms").RefersToRange
Set Outputs = ActiveWorkbook.Names("Outputs").RefersToRange
Outputs.Copy
Set HistoryPosition = ActiveWorkbook.Sheets("Sorties").Range("A1").End(xlDown).Offset(1, 0)
HistoryPosition.PasteSpecial (xlPasteValues)
For Each Output In Outputs.Rows
Dim Room As String
Dim RoomPosition As Double
Room = Output.Cells(1, 1)
If Not IsEmpty(Room) Then
RoomPosition = Match(Room, Rooms)
If RoomPosition >= 0 Then
ActiveSheet.Range( _
Rooms.Cells(RoomPosition, 2), _
Rooms.Cells(RoomPosition, Rooms.Columns.Count)).ClearContents
End If
End If
Next
Outputs.Columns(1).ClearContents
End Sub ActiveSheet.Range( _
Rooms.Cells(RoomPosition, 2), _
Rooms.Cells(RoomPosition, Rooms.Columns.Count)).ClearContentsJe vous remercie de votre aide
Invité
Bonjour Jeffctrla
C'est tout simple
ActiveSheet.Range("A" & RoomPosition & ":N" & RoomPosition).ClearContentsj
ça ne fonctionne pas, ou je ne sais pas le placer correctement ...
Invité
Re,
Mais c'est parce que tu ne nous dis pas tout
La liste des chambre occupée commence à la ligne 27 donc il faut additionner cette ligne
ActiveSheet.Range("A" & 27 + RoomPosition & ":N" & 27 + RoomPosition).ClearContentsLa sub complète
Sub ValidateOutputs()
Dim Outputs As Range
Dim Rooms As Range
Dim Output As Range
Dim HistoryPosition As Range
Set Rooms = ActiveWorkbook.Names("Rooms").RefersToRange
Set Outputs = ActiveWorkbook.Names("Outputs").RefersToRange
Outputs.Copy
Set HistoryPosition = ActiveWorkbook.Sheets("Sorties").Range("A1").End(xlDown).Offset(1, 0)
HistoryPosition.PasteSpecial (xlPasteValues)
For Each Output In Outputs.Rows
Dim Room As String
Dim RoomPosition As Double
Room = Output.Cells(1, 1)
If Not IsEmpty(Room) Then
RoomPosition = Match(Room, Rooms)
If RoomPosition >= 0 Then
ActiveSheet.Range("A" & 27 + RoomPosition & ":N" & 27 + RoomPosition).ClearContents
End If
End If
Next
Outputs.Columns(1).ClearContents
End SubSinon on se retrouve sur la ligne 6 ou des cellules sont fusionnées
A+
j
merci, super ça fonctionne