Re: Import de fichier |
Titre du sujet : Re: Import de fichier par Guy le 25/08/2009 23:38:48 Bonsoir, Petite curiosité : dans le fichier exemple le dernier champ (49) porte la valeur U et n'a pas de nom??? M'enfin, quelques lignes de code qui devrait faire le boulot. Sub ImporterFichier() On Error GoTo ImporterFichierErr Dim strTypeDeFichier As String Dim strTitre As String Dim varFichier As Variant ' La valeur de retour de GetOpenFileName est une chaîne ou un booléen strTypeDeFichier = "(*.tsv), *.tsv" strTitre = "Importer des fichiers" varFichier = Application.GetOpenFilename(FileFilter:=strTypeDeFichier, Title:=strTitre) If varFichier <> False Then ' L'utilisateur n'a pas cliqué sur Annuler ' Effectuer le traitement ICI Traitement CStr(varFichier) End If Exit Sub ImporterFichierErr: MsgBox Err.Number & vbCrLf & Err.Description & vbCrLf & "ImporterFichier()" End Sub Sub Traitement(strNomFichier As String) Application.ScreenUpdating = False ' Histoire de ne pas ameuter les environs ' Ouvre le fichier tsv Workbooks.OpenText Filename:=strNomFichier, DataType:=xlDelimited, textqualifier:=xlTextQualifierDoubleQuote, Tab:=True ' Voir à modifier le paramètre Before selon le contexte ' La nouvelle feuille est déplacé dans CE classeur avec ThisWorkbook.Name ActiveWorkbook.Worksheets(1).Move Before:=Workbooks(ThisWorkbook.Name).Sheets(1) ' Le classeur temporaire ouvert avec Workbooks.OpenText a disparu. Application.ScreenUpdating = True ' On remet l'affichage actif End Sub J'ai modifié le filtre (strTypeDeFichier) pour n'accepter que des fichiers tsv. Je n'ai pas ajouté de gestionnaire d'erreur dans la procédure Traitement(), à toi de voir. Cordialement, Guy |
Forums