Question aux pros de Word

Question aux pros de Word - Logiciels - Windows & Software

Marsh Posté le 31-03-2007 à 19:35:12    

Bonjour,
 
Quelqu'un saurait-il s'il est possible sous Word de trier automatiquement un texte/liste en supprimant les mots en doublon ?
 
exemple:
 
partir de ceci... :
 
fraise
fraise
banane
fraise
poire
fraise
pomme
pomme
fraise
raisin
orange
cerise
fraise
pomme
 
 
...pour arriver à cela :
 
banane
fraise
poire
pomme
raisin
orange
cerise
 
 
 
 

Reply

Marsh Posté le 31-03-2007 à 19:35:12   

Reply

Marsh Posté le 31-03-2007 à 20:10:56    

Je pense qu'il faut copier et coller sur excel ton tableau.

Reply

Marsh Posté le 31-03-2007 à 20:47:09    

euh... je n'ai pas Excel :/

 

quant aux macros j'y ai pensé, mais je ne sais pas comment programmer ça de façon à obtenir ce que je veux...


Message édité par zaxx le 31-03-2007 à 20:55:33
Reply

Marsh Posté le 31-03-2007 à 21:14:47    

J'ai Excel mais je crois que le cd doit être enterré dans un coin de mon boxon...
 
Mais bon, je ne sais pas non plus la marche à suivre sous Excel...

Reply

Marsh Posté le 31-03-2007 à 21:17:51    

zaxx a écrit :

J'ai Excel mais je crois que le cd doit être enterré dans un coin de mon boxon...
 
Mais bon, je ne sais pas non plus la marche à suivre sous Excel...


 
http://forum.hardware.fr/hfr/Windo [...] 6473_1.htm

Reply

Marsh Posté le 01-04-2007 à 01:21:42    

Bonsoir
 
Word c'est pour taper du texte, ni pour faire des tableaux ni pour gerer les doublons d'une bdd
Si tu n'as pas Excel utilise le tableur d'Open Office et réintegre ton tableau sous word.
Mais ce que tu demandes sous word c'est un peu "chiant"
Il faudrait detecter tous les retour chariot, a chaque retour chariot metre en variable le texte d'avant et rechercher entre chaque retour chariot si la variable est la même... En plus sous Word, si tu as ecri Fraise et Fraises, pour trouver le doublon...
 
Cordialement

Reply

Marsh Posté le 01-04-2007 à 01:35:52    

Merci pour vos réponses, je vais voir ce que je peux faire...

Reply

Marsh Posté le 01-04-2007 à 08:53:27    

SuppotDeSaTante a écrit :

Bonsoir

 

Word c'est pour taper du texte, ni pour faire des tableaux ni pour gerer les doublons d'une bdd
Si tu n'as pas Excel utilise le tableur d'Open Office et réintegre ton tableau sous word.
Mais ce que tu demandes sous word c'est un peu "chiant"
Il faudrait detecter tous les retour chariot, a chaque retour chariot metre en variable le texte d'avant et rechercher entre chaque retour chariot si la variable est la même... En plus sous Word, si tu as ecri Fraise et Fraises, pour trouver le doublon...

 

Cordialement

 

Oui, à mon avis, il n'est pas sorti de l'auberge s'il se fixe sur word et puis comme le dit cytrouille, elle est un peu "zarbi" son histoite Il a word mais pas excel qu'il n'a pas installé. Quand on connait le prix de la licence du pack office et ne pas installer excel, c'est étrange. Enfin bon, admettons. Mettre en variable, pourquoi pas ou alors faire la somme des caractères ascii. Par exemple: FRAISE= 102+114+97+105+115+101=634. Si la somme des caractères ascii du mot suivant est 634, il s'agit du même mot, enfin je pense.Mais comme tu le dis dje, comment détecter le retour chariot: comment dire ligne suivante sur word? Sur excel, c'est plus simple.

 

Edit: je viens de penser à un truc, un anagramme qui n'est pas le même mot a la même valeur ascii.Donc si par hasard dans ta liste tu aurais un mot et son anagramme, ça ne marcherait pas.


Message édité par TAM136 le 01-04-2007 à 08:56:23
Reply

Marsh Posté le 01-04-2007 à 11:18:26    

Détecter les retours charriot sous word est 1. faisable 2. extremement facile. Voir les fonctions avancées de recherche pour ça.

Reply

Marsh Posté le 01-04-2007 à 13:04:48    

trevor a écrit :

Détecter les retours charriot sous word est 1. faisable 2. extremement facile. Voir les fonctions avancées de recherche pour ça.


 
C'est un plus compliqué que ça. Ce n'est pas simplement détecter le retour chariot: je suppose que tu fais référence à ^p mais ça ne suffit pas je pense.Il faut détecter le retour chariot pour chacun des mots ce qui me conforte dans l'idée qu'un copier coller sur excel est beaucoup plus simple.

Reply

Marsh Posté le 01-04-2007 à 13:04:48   

Reply

Marsh Posté le 01-04-2007 à 13:46:45    

Bonjour,
juste pour aider un peu, à condition que la liste soit propre (sans lignes vides ni marques de paragraphes intempestives :
 
sous word:
Sub supdoub()
'
ActiveDocument.Select
 
    Selection.ConvertToTable Separator:=wdSeparateByParagraphs, NumColumns:=1, _
         NumRows:=14, AutoFitBehavior:=wdAutoFitFixed
    With Selection.Tables(1)
        .Style = "Grille du tableau"
        .ApplyStyleHeadingRows = True
        .ApplyStyleLastRow = True
        .ApplyStyleFirstColumn = True
        .ApplyStyleLastColumn = True
    End With
    Selection.Sort ExcludeHeader:=False, FieldNumber:="Colonne 1", _
        SortFieldType:=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending, _
        FieldNumber2:="", SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:= _
        wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _
        wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _
        wdSortSeparateByCommas, SortColumn:=False, CaseSensitive:=False, _
        LanguageID:=wdFrench, SubFieldNumber:="Paragraphes", SubFieldNumber2:= _
        "Paragraphes", SubFieldNumber3:="Paragraphes"
    Selection.Rows.ConvertToText Separator:=wdSeparateByParagraphs, _
        NestedTables:=True
 
 
coco = ActiveDocument.Words.Count
For i = coco - 2 To 3 Step -2
ActiveDocument.Words(i).Select
If Selection.Text = ActiveDocument.Words(i - 2).Text Then
Selection.MoveRight unit:=wdWord, Count:=1, Extend:=wdExtend
 
Selection.Delete
End If
Next i
End Sub
 
 
Codialement


Message édité par seniorpapou le 01-04-2007 à 13:47:16
Reply

Marsh Posté le 01-04-2007 à 14:54:50    

TAM136 a écrit :

C'est un plus compliqué que ça. Ce n'est pas simplement détecter le retour chariot: je suppose que tu fais référence à ^p mais ça ne suffit pas je pense.Il faut détecter le retour chariot pour chacun des mots ce qui me conforte dans l'idée qu'un copier coller sur excel est beaucoup plus simple.


On est bien d'accord. Je tiquais juste sur l'aspect "recherche retour sous-charriot sous word". Pour "retour charriot + autres", le pb est effectivement différent.


---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
Reply

Marsh Posté le 01-04-2007 à 19:06:53    

Bonsoir,
une autre version à épurer:
Sub supdoub2()
'
ActiveDocument.Select
 
    Selection.ConvertToTable Separator:=wdSeparateByParagraphs, NumColumns:=1, _
         NumRows:=14, AutoFitBehavior:=wdAutoFitFixed
    With Selection.Tables(1)
        .Style = "Grille du tableau"
        .ApplyStyleHeadingRows = True
        .ApplyStyleLastRow = True
        .ApplyStyleFirstColumn = True
        .ApplyStyleLastColumn = True
    End With
    Selection.Sort ExcludeHeader:=False, FieldNumber:="Colonne 1", _
        SortFieldType:=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending, _
        FieldNumber2:="", SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:= _
        wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _
        wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _
        wdSortSeparateByCommas, SortColumn:=False, CaseSensitive:=False, _
        LanguageID:=wdFrench, SubFieldNumber:="Paragraphes", SubFieldNumber2:= _
        "Paragraphes", SubFieldNumber3:="Paragraphes"
         
         
        total = Selection.Rows.Count
        For i = total To 2 Step -1
         
        ActiveDocument.Tables(1).Rows(i - 1).Select
    Selection.HomeKey Unit:=wdRow
    Selection.Select
    Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
    nouvtext = Selection.Text
    ActiveDocument.Tables(1).Rows(i).Select
    Selection.HomeKey Unit:=wdRow
    Selection.Select
    Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
    montext = Selection.Text
     
     If montext = nouvtext Then Selection.Rows.Delete
     
 Next i
    Selection.Rows.ConvertToText Separator:=wdSeparateByParagraphs, _
        NestedTables:=True
 
 
End Sub
Bon test
Cordialement

Reply

Marsh Posté le 02-04-2007 à 00:48:22    

Merci pour ces autres réponses. En fait je n'ai pas Excel. J'ai le DVD Works Suite qui était livré avec mon ordi, et j'ai toujours cru que Excel était dedans mais que je ne l'avais pas installé. Mais en fait il n'y est pas. J'ai confondu avec le pack Office que j'avais sur mon précédent ordi... Pas grave, je bidouillerai tout ça chez un ami...

Reply

Marsh Posté le 02-04-2007 à 07:36:32    

lol

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed