aide sur un prog en vba

informaexcel

XLDnaute Nouveau
Bonjour
J’ai besoin d’aide svp j’ai un exercice c’est un sommaire dans un document Word et je voudrais le copier dans un fichier Excel par un programme vba :
Exemple des données en Word :

Acquisition du langage oral : repères chronologiques [5]
Apprentissage de la lecture [33]
Apprentissage de la production écrite et de l’orthographe [79]
Apprentissage de l’arithmétique [107]
Apprentissage du langage écrit chez les sourds [137]

Le résultat dans Excel

5 \ Acquisition du langage oral : repères chronologiques
33 \ Apprentissage de la lecture
79 \ Apprentissage de la production écrite et de l’orthographe
107 \ Apprentissage
137 \ Apprentissage du langage écrit chez les sourds

Svp comment je peux le faire dans un programme en vba pour
Prendre les numéros de la page qui sont entre [ ] et le copier dans la 1ère colonne et de prendre le titre de la page par exemple ici « Acquisition du langage oral : repères chronologiques »et le copier dans la colonne accoter de sont numéro de page.
dans la pièce jointe vous trouvez un exemple de mon sommaire word
je voudrais pas que vous me resoudre mon application mais de m'aider je peux faire un programme pour ouvrire le word apartire d'excel et le fermer et je peux aussi copier des données dans un tableau word mais ici je voudrai savoir comment je peux faire pour que mon programme prend les chiffres entre [ ] et les copier dans une colonne et prendre les titres et les coller dans la colonne accoter de chiffre ???
merci d'avance
Merci d’avance .
 

Pièces jointes

  • exemple en word.zip
    4 KB · Affichages: 31
Dernière édition:

Gruick

XLDnaute Accro
Re : aide sur un prog en vba

Bonjour informaexcel,

Voici un essai.
C'est une macro excel qui s'appelle "Sommaire", qui importe le document avec tous ses caractères spéciaux. Puis après destruction des lignes inutiles, elle ordonnera tout cela selon ta demande.

Il faudra néanmoins modifier le chemin d'accès de ton document word dans la macro, car là il s'agit du mien.

Gruick
 

Pièces jointes

  • Sommaire.xls
    43 KB · Affichages: 77
  • Sommaire.xls
    43 KB · Affichages: 83
  • Sommaire.xls
    43 KB · Affichages: 80

informaexcel

XLDnaute Nouveau
Re : aide sur un prog en vba

merci Gruick d'accord je vais essaier le code
merci mais comment je peux suprimer les \ moi j'ai fait les \ dant l'exemple c a dire selement la separation des colonne je vais essaier de modifier le code merci

svp es que vous pouvez m'expliquer un peux le code

j'ai changer le chemain m'ai ça marche pas j'ai fais

Code:
With ActiveSheet.QueryTables.Add(Connection:= _
  "TEXT;C:\Documents and Settings\Bureau\Nouveau dossier\jj.doc", Destination:= _
    Range("A1"))

?????????
 
Dernière édition:

Gruick

XLDnaute Accro
Re : aide sur un prog en vba

re,
Tu as raison, les \ c'est très moche, ugly
Donc dans l'instruction
Code:
Selection.Replace What:="]", Replacement:="\", LookAt:=xlPart, _
  SearchOrder:=xlByColumns, MatchCase:=True
tu enlèves simplement le \ et tu auras donc "", ce qui signifie rien, nothing in english


explications du code
Code:
Sub Sommaire()
' Sommaire Macro
' Macro enregistrée le 7/01/2009 par Gruick

[COLOR="SeaGreen"]'Partie fabriquée en enregistrement automatique[/COLOR]
With ActiveSheet.QueryTables.Add(Connection:= _
  "TEXT;Disque Dur:Users:francois:Desktop:exemple en word.doc", Destination:= _
    Range("A1"))
[COLOR="SeaGreen"] 'Tu devras remplacer par ton chemin d'accès[/COLOR]
  .Name = "exemple en word"
  .FieldNames = True
  .RowNumbers = False
  .FillAdjacentFormulas = False
  .RefreshOnFileOpen = False
  .BackgroundQuery = True
  .RefreshStyle = xlOverwriteCells
  .SavePassword = False
  .SaveData = True
  .AdjustColumnWidth = True
  .TextFilePromptOnRefresh = False
  .TextFilePlatform = xlWindows
  .TextFileStartRow = 1
  .TextFileParseType = xlDelimited
  .TextFileTextQualifier = xlTextQualifierDoubleQuote
  .TextFileConsecutiveDelimiter = False
  .TextFileTabDelimiter = True
  .TextFileSemicolonDelimiter = False
  .TextFileCommaDelimiter = False
  .TextFileSpaceDelimiter = False
  .TextFileOtherDelimiter = "["
  .TextFileColumnDataTypes = Array(1, 1)
  .Refresh BackgroundQuery:=False
  .UseListObject = False
End With

[COLOR="SeaGreen"]'inspecte les lignes jusqu'a ce que tu trouves le mot MSWord en
'première colonne. Si en 2e colonne il y a un ], la conserver
'sinon, détruire la ligne[/COLOR]
i = 1
Do Until Left(Cells(i, 1), 6) Like "MSWord"
  If Right(Cells(i, 2), 1) <> "]" Then
    Cells(i, 2).EntireRow.Delete
  Else
    i = i + 1
  End If
Loop
Cells(i, 1).EntireRow.Delete
[COLOR="SeaGreen"]'Première cellule à inspecter, détruire tout ce qu'il y a
'avant le 1.[/COLOR]
Cells(1, 1).Select
Position = InStr(1, Selection, 1, 1) - 1 'Recherche la position du 1 dans la cellule A1
Selection.Replace What:=Left(Cells(1, 1), Position), Replacement:="", LookAt:=xlPart, _
  SearchOrder:=xlByColumns, MatchCase:=True
[COLOR="SeaGreen"]'Remplace en colonne B les ] par rien[/COLOR]
Columns("B:B").Select
Selection.Replace What:="]", Replacement:="", LookAt:=xlPart, _
  SearchOrder:=xlByColumns, MatchCase:=True
[COLOR="rgb(46, 139, 87)"]'Permutation de la colonne A en C et destruction le la colonne A devenue vide[/COLOR]
Columns("A:A").Cut Destination:=Columns("C:C")
Columns("A:A").Delete Shift:=xlToLeft
[COLOR="SeaGreen"]'Formatage et Présenation à droite[/COLOR]
Columns("A:A").EntireColumn.AutoFit
Columns("A:A").HorizontalAlignment = xlRight
Range("A1").Select
End Sub

Exécute là en pas à pas si tu veux encore mieux comprendre les instructions

Gruick
 
Dernière édition:

informaexcel

XLDnaute Nouveau
Re : aide sur un prog en vba

merci ça c'est coollll et pour le chemain je l'ai modifier comme ça

Code:
With ActiveSheet.QueryTables.Add(Connection:= _
  "TEXT;C:\Documents and Settings\Bureau\Nouveau dossier\jj.doc", Destination:= _
    Range("A1"))
mais ça marche pas :confused:
il me donne un debogage dans cette ligne

Code:
.Refresh BackgroundQuery:=False
 
Dernière édition:

Gruick

XLDnaute Accro
Re : aide sur un prog en vba

re,

C'est peut-être spécifique au mac ???

Je viens d'essayer ma macro sur mon PC, ça fait n'importe quoi.
Donc, remplaces par celle que je t'envoies, qui est élaborée sur PC, et comme toujours, modifies le chemin d'accès.

Gruick
 

Pièces jointes

  • Sommaire.xls
    37 KB · Affichages: 61
  • Sommaire.xls
    37 KB · Affichages: 57
  • Sommaire.xls
    37 KB · Affichages: 63
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 469
Messages
2 088 695
Membres
103 922
dernier inscrit
hhhh