bonjour,
Je réécris pour une énième fois une suppression de lignes et colonnes (inspiration chez ozgrid.com). La macro très lente chez moi malgré une dimension raisonnable de mon tableau (200 lignes * 30 colonnes).
Qu'est-ce que cela donne chez vous ?
je pense que c'est mon système , j'ai le même problème avec la petite macro ci-dessous.
Je réécris pour une énième fois une suppression de lignes et colonnes (inspiration chez ozgrid.com). La macro très lente chez moi malgré une dimension raisonnable de mon tableau (200 lignes * 30 colonnes).
Qu'est-ce que cela donne chez vous ?
Code:
Sub test()
Dim Tgt As Range
Dim Rw As Range
'Poursuite du programme en cas d'erreur
On Error Resume Next
'Effacement des premières lignes de l'extraction
'[1:3,5:5].EntireRow.Delete
'Sélection de la plage utilisée
ActiveSheet.UsedRange.Select
'Sortie de programme si aucune donnée n'est présente
If WorksheetFunction.CountA(Selection) = 0 Then Exit Sub 'MsgBox "Pas de données", vbOKOnly, "OzGrid.com"
'Effacer les cellules ne contenant qu'un espace (cela arrive suite à l'extraction)
Selection.Replace What:=" ", Replacement:="", LookAt:=xlWhole
'Effacer les lignes vides ou les colonnes avec une seule valeur
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
'sélection des cellules vides de la plage précédemment sélectionnée
Selection.SpecialCells(xlCellTypeBlanks).Select
'Suppression des lignes vides en bouclant sur les lignes de la sélection
For Each Rw In Selection.Rows
If WorksheetFunction.CountA(Rw.EntireRow) = 0 Then Rw.EntireRow.Delete
Next Rw
'suppression des colonnes vides et des champs pour lesquels il n'y a pas de valeur
For Each Rw In Selection.Columns
If WorksheetFunction.CountA(Rw.EntireColumn) <= 1 Then Rw.EntireColumn.Delete
Next Rw
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub
Code:
Sub dhdhdhd()
DoEvents
ActiveSheet.Shapes.SelectAll
Selection.Delete
End Sub