[Résolu][Calc] Import CSV et suppression des lignes 6 et 7

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Salx
Fraîchement OOthentifié
Messages : 9
Inscription : 03 avr. 2023 14:39

[Résolu][Calc] Import CSV et suppression des lignes 6 et 7

Message par Salx »

Bonjour,

Je vous demande d'excuser ma demande simpliste mais je bute.

J'importe in ficher .csv dans un feuille "Import".
Avant traitement de cette feuille, je voudrais supprimer les lignes 6 et 7 de cette feuille "Import"

Code : Tout sélectionner

Sub Creation
	InsereFeuille("Import") ' Insère la feuille en avant dernier
'End Sub

'Macro InsererCsvDansFeuille'
'Sub ChargerCsvDansFeuille()
	
	dim adrDocCSV as string, optFiltre as string
	dim docCalc as object, maFeuille as object

	docCalc = ThisComponent
	maFeuille = docCalc.Sheets.getByName("Import")

GlobalScope.BasicLibraries.loadLibrary("zBasic")
	Dim maCell as string	
		maCell = zCellule.Lit("Importation", "B16", "C")
	
	adrDocCSV = ChargeFichier("Sélectionner le fichier à importer", "csv", maCell &" CSV", "*.csv")

	optFiltre = "44,0,76,1,,0,false,false,true,false,false"

	maFeuille.link(adrDocCSV, "", "Text - txt - csv (StarCalc)", _
	optFiltre, com.sun.star.sheet.SheetLinkMode.VALUE)

' maintenant on peut casser le lien
	maFeuille.setLinkMode(com.sun.star.sheet.SheetLinkMode.NONE)
	
		Message
	supprime_Colonne
	LargeurColonnes
	'RechercheEtRemplace
	Remplace
	SaisieNomF	
End Sub
Je dois faire cette manipulation suite à la modification du format des fichiers .csv que je traitais dans le sujet : [Calc] Importation CSV à la suite.

Merci de votre aide.

Serge
LibreOffice Version: 7.4.7.2 LibreOffice community
LinuxMint Debian Edition 6
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25964
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Supprimer les lignes 6 et 7

Message par Dude »

Salut,

En amont, tu lis ton fichier et tu le réécris sans les lignes.
Regarde l'aide sur la fonction pour voir l'écriture.

Code : Tout sélectionner

Sub EnleveLigne6et7
aFic = "c:\temp\_test.csv"
iNum = FreeFile
Open aFic For Input As iNum
While not eof(iNum)
	i = i + 1
	Line Input #iNum, sLine
	If sLine <>"" then
		If not (i = 6 or i = 7) then sMsg = sMsg & sLine & chr(13)
	end if
wend
Close #iNum
Msgbox sMsg
End Sub
Salx
Fraîchement OOthentifié
Messages : 9
Inscription : 03 avr. 2023 14:39

[Résolu][Calc] Supprimer les lignes 6 et 7

Message par Salx »

Merci de ta réponse rapide et efficace comme toujours.

Entre-temps, j'ai plagié une solution trouvée sur le net :

Code : Tout sélectionner

'Sub SupprimerLignes
   ' dim oFeuille as Object
    maFeuille.rows.removeByIndex(9,1) ' supprimer la ligne 8
    maFeuille.rows.removeByIndex(4,2) ' supprimer les lignes 4 à 5   
 'End Sub
J'en ai profité pour supprimer une autre ligne inutile.

Mais ta solution est plus facile à gérer si modification ultérieure.

Encore merci et bonne fin de journée.

Serge
LibreOffice Version: 7.4.7.2 LibreOffice community
LinuxMint Debian Edition 6