Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/07/2011, 14h53   #1
Invité de passage
 
Thomas
Inscription : février 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Thomas

Informations forums :
Inscription : février 2011
Messages : 5
Points : 1
Points : 1
Par défaut Recherche de caractère spécial et exportation sous Excel

Bonjour à tous,

Je suis occupé à devoir vérifier les références bibliographiques d'un ouvrage scientifique (l'auteur n'ayant pas utiliser de logiciel spécifique aux références biblio...)
hum bref! Pour tenter de faire simple, j'aimerais repérer dans les fichiers Word 2003 les références mises entre "[...]" et puis les exporter dans Excel afin de vérifier la concordance avec la bibliographie. L'exportation marche très bien mais lorsque plusieurs références se suivent, avec mon code, l'index de mon fichier va sous zéro ce qui bloque la recherche lorsque ma référence commence mon fichier...
Je dois surement mal m'y prendre mais je ne vois pas trop comment résoudre le stuut...

Voici le code pour aider :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
    Dim k As Integer
        Dim fichier As String = DocWord.Range.Text.ToUpper
        Dim i As Integer = 1
        Dim DocExcel As Object
        DocExcel = CreateObject("Excel.Application")
        Dim ExlWkb
        ExlWkb = DocExcel.WorkBooks.Open("D:\emplacement\essai.xls")
        Dim worksheet = ExlWkb.Sheets(1)
 
Do While fichier.Contains(crochetdebut) = True                       'avant il y avait fichier.ToUpper.Length() <> 0
            Dim y As Integer
            k = k + 1
            i = i + 1
            ReDim Preserve reference(0 To k)
            If fichier.Contains(crochetdebut) = True Then
                i = fichier.IndexOf(crochetdebut)
 
                If fichier.IndexOf(i) <= 30 Then y = fichier.IndexOf(i) Else  : y = 30
 
                reference(k) = fichier.Substring(i - y + 1, 60)
                'MsgBox(reference(k))
 
                'écriture de la référence dans un fichier xls
 
                worksheet.Cells(k, 1) = reference(k)
 
 
                DocExcel.visible = True
 
 
                'réduction du fichier à lire
                Dim a As Integer = i + 15                       'avant il y avait + reference(k).Length - 15
                fichier = fichier.Substring(a)
 
                'MsgBox(fichier)
            End If
        Loop
Merci d'avance!!
moht66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h04.


 
 
 
 
Partenaires

Hébergement Web