J’ai une vieille macro utilisée il y a ~5 ans mais j’en ai de besoin présentement. J’obtiens “l’argument n’est pas facultatif pour la ligne: rows = range.rows”. J’ai besoin d’effacer des lignes inutiles dans un classeur de A1:CD925. Voici la macro:
REM ***** BASIC *****
'range est la zone de cellules à traiter ou l,ensemble des cellules à traiter'
'searchColumn index (dans range, à partir de 0) de la colonne à comparer ex. A=0, D=3, F=5'
'txt la chaîne de caractères à chercher (données)'
Sub DeleteLines(range As Object, searchColumn As Integer, txt As String)
Dim rows As Object, rowIndex As Integer
rows = range.rows
For rowIndex = rows.count-1 To 0 Step -1
If range.GetCellByPosition(searchColumn,rowIndex).string = txt Then rows.RemoveByIndex(rowIndex,1)
Next rowIndex
End Sub
Sub Essai
'(Première colonne:dernière colonne)'
range = ThisComponent.sheets(0).GetCellRangeByName("I2:CD925")
searchColumn = 0 'travailler sur la colonne, I'
txt = "plutonic" 'ou tout autre texte'
DeleteLines(range,searchColumn,txt)
End Sub
Ici, suppression de toutes les lignes contenant “plutonic”, se trouvant dans la colonne I (9ème colonne) du classeur
J’aimerais savoir ce qui ne fonctionne pas, pour comprendre!
Merci pour l’aide