- Ze Officiel Site Oueb-

fait par des personnes qui veulent se faire plaisir
- Visual Basic & Excel -

Mis à jour le 25/06/2002

Par Sébastien Curutchet

Mes premiers pas avec Excel Sommaire Utiliser une feuille

Droit de diffusion:
L'ensemble ou partie de ce document ainsi que le code mis à disposition, ne peut être diffusé sur d'autres sites Web sans l'autorisation au préalable de son créateur.

2. Ouvrir un fichier spécifique :

2.1 Ouverture d'un fichier Excel :

Ouvrir un fichier Excel c'est ce qu'il y a de plus simple. Voici un exemple de code :

'Déclaration des variables
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel

'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open("C:\MonFichierExcel.xls")
'wsExcel correspond à la première feuille du fichier
Set wsExcel = wbExcel.Worksheets(1)

Je ne remarque pas les lignes permettant de fermer le fichier mais je vous rapelle que ces lignes ne sont pas à négliger même si elles ne sont pas obligatoires.

2.2 Ouverture d'un fichier CSV :

A titre informatif, les fichiers CSV sont des fichiers textes où une ligne du fichier correspond à une ligne de la feuille et les colonnes sont séparées par des ';'.

Voici un petit exemple :
Le fichier :
123;45;;52;65
;10;23;;
;;23;;41
Le tableau résultat est le suivant :

123 45   52 65
  10 23    
    23   41

Quand je disais que le fichier Excel était le plus simple, en fait les CSV sont tout aussi simple.

'Déclaration des variables
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel

'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open("C:\MonFichierCSV.csv")
'wsExcel correspond à la première feuille du fichier
Set wsExcel = wbExcel.Worksheets(1)


2.3 Ouverture d'un fichier texte contenant des séparateurs :

Sous Excel vous pouvez ouvrir des fichiers textes et les affichés sous forme de tableur car chaque colonne est séparée par un symbôle ou alors les colonnes ont une taille fixe. Voici la liste des séparateurs gérés par Excel :

Mais si celà ne vous convient pas, Excel vous propose de choisir votre propre séparateur. Mais ce ne peut être qu'un seul caractère.
Comme tout bon tableur vous pouvez indiquer à Excel à partir de quelle ligne du fichier vous souhaitez commencer l'import et à quel format (celui par éfaut est Windows(ANSI)).

Voici le code pour ouvrir un fichier texte avec comme séparateur le ';' commençant à la deuxième ligne et au format Windows(ANSI) :

'Déclaration des variables
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel

'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Workbooks.OpenText Filename:= "C:\MonFichierTexte.txt", Origin:=xlWindows, _
StartRow:=2, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
Set wbExcel=appExcel.ActiveWorkbook
Set wsExcel=wbExcel.ActiveSheet

Afin de ne pas être trop perdu je vous explique à quoi correspond chaque option ci-dessus :

Les options suivantes ne sont valides que si DataType:=xlDelimited

Les options ci dessous ne sont valides que si DataType:=xlFixedWidth

Voici un exemple où vous souhaitez charger sur 3 colonnes. La première colonne commence à 0 (début de la feuille), la deuxième à la 10e colonne et la troisième à la 15e colonne. Le code obtenu est FieldInfo:=Array(0,1), Array(10,1), Array(15,1)

Le prochain chapitre portera sur la navigation dans une feuille Excel et l'affectation des cellules.

Mes premiers pas avec Excel Sommaire Utiliser une feuille

Pour nous contacter : Webmaster