TUTOS.EU

Copier un tableau dans un fichier

Copier le contenu d'un tableau dans un fichier

Public Function CopierTableauDansFichier(ByVal MonTableau, ByVal CheminFichier, ByVal TypeOuvertureFichier, ByVal NePasCopierDerniereLigne)

	'Version du 21 fev 2007
	'Copie le contenu d un tableau dans un fichier
	'Retourne 1 si l ecriture a bien fonctionne
	'Valeur possible de TypeOuvertureFichier
	' 1 pour une ouverture en mode Write (efface le contenu precedent du fichier avant ecriture)
	' 2 pour une ouverture en mode Append (N'efface pas l ancien contenu. Ajoute à la suite)
	'Si NePasCopierDerniereLigne est a 1, on en copie pas la derniere ligne du tableau

	Dim CompteurLigne
	Dim objFSO
	Dim objFichier
	Dim Continuer

	Const ForReading = 1
	Const ForWritting = 2
	Const ForAppending = 8

	SauvegarderTableauDansFichier = 0

	Set objFSO = CreateObject("Scripting.FileSystemObject")

	'Si j ai bien un tableau en parametres
	If IsArray(MonTableau) = True Then
		Continuer = 0
		Select Case TypeOuvertureFichier
			Case 1
				Set objFichier = objFSO.OpenTextFile(CheminFichier, ForWritting, True)
				Continuer = 1
			Case 2
				Set objFichier = objFSO.OpenTextFile(CheminFichier, ForAppending, True)
				Continuer = 1
			Case Else
				Continuer = 0
		End Select

		'Si l ouverture du fichier a bien fonctionne
		If Continuer = 1 Then
			For CompteurLigne = LBound(MonTableau) To Ubound(MonTableau)
				'Si on ne doit pas copier la derniere ligne
				If (NePasCopierDerniereLigne = 1) And (CompteurLigne = Ubound(MonTableau)) Then

				Else
					objFichier.WriteLine MonTableau(CompteurLigne)
				End If
			Next

			'On retourne un résultat positif
			SauvegarderTableauDansFichier = 1

			objFichier.Close
			Set objFichier = Nothing
		End If 'If Continuer = 1 Then
	End If 'If IsArray(MonTableau) = True Then

	Set objFSO = Nothing

End Function
Lien vers le fichier : cliquez ici Copier le code

2