Supprimer des lignes

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

rows est un mot-clé du langage. Il est mauvais de s’en servir comme variable.

Bonjour

rows est en effet à éviter mais ce n’est pas la cause du problème : tu lances simplement la procédure DeleteLines alors qu’il faut lancer Essai (DeleteLines attend les arguments passés par Essai).

Si tu procèdes depuis l’EDI (l’environnement de développement), il suffit de cliquer dans ESSAi avant de cliquer sur Exécuter.

Par ailleurs cette macro me semble inutile car il te suffit de

  • sélectionner ta plage
  • Rechercher Tout plutonic, fermer les dialogues
  • clic droit sur l’en-tête de ligne puis Supprimer des lignes

[EDIT 09/02/19]

C’était implicite dans mon texte précédent mais je précise que le clic droit est à faire sur une des lignes sélectionnée (par ex. L12 dans la copie d’écran suivante) :

clic droit en-tete lignes sélectionnée

Cordialement

Merci Pierre-Yves pour l’aide.
J’ai dû quand même apprivoiser le pdf Macros Calc pour comprendre l’utilisation de l’EDI.

Par contre, ta deuxième suggestion ne fonctionne pas, tout s’efface!

Cordialement

@Rakam merci pour le “retour”, ma suggestion fonctionne : voir mon ajout dans ma réponse précédente. Si c’est le cas tu peux marquer la réponse acceptée en la cochant comme correcte en cliquant :heavy_check_mark: en haut à gauche de ma réponse

Pierre-Yves, c’est beaucoup plus clair avec la deuxième façon. Mais sur MacOs c’est suprimé et suprimer des lignes. Tester, ça fonctionne.

merci!