Excel et extraction

pierreh59 Messages postés 227 Date d'inscription   Statut Membre Dernière intervention   -  
m@rina Messages postés 23923 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai mon gestionnaire de parc qui m'a sorti une extraction des postes de l'entreprise sous la forme d'un fichier excel avec 10 onglets (qui correspond à 10 sites differents) et 5 colonnes (par onglet) le nom de ces colonnes : 1/nom pc 2/niveau 3/utilisateur 4/memoire


Je souhaite exporter chaque ligne vers un document "préformaté" où l'on retrouve les éléments

nom pc :
niveau :
utilisateur :
memoire :

et bien sur pour chaque fiche j'aimerais que chaque fiche soit enregistrer sous le nom de la machine

et d'autres lignes qui sont à remplir manuellement


comment faire ? je suis une m@$¤de en excel mais g 1100 postes à gérer


merciiiiiiiiiiiiiiiiiiiiiiiiiiiii

je suis dans le 80 prêt à me deplacer dans les environs LILLE/AMIENS ou sur cette route pour me faire cette manip

merci
A voir également:

13 réponses

UsulArrakis Messages postés 7405 Date d'inscription   Statut Contributeur Dernière intervention   3 190
 
salut
quelle version d'excel et de word as-tu ?
pour faire tes fiches tu peux passer par un publipostage avec word et ton fichier excel comme source des données
2007 te permet de faire un document par page donc par enregistrement donc par pc dans ton cas
pour les versions antérieures je ne suis pas sûr

par contre pour donner à chaque fichier le nom du pc il doit surement falloir passer par une macro et là je peux rien pour toi
0
pierreh59 Messages postés 227 Date d'inscription   Statut Membre Dernière intervention   27
 
OK merci de l'indication

je suis en 2003 mais je peux mettre 2007,
0
m@rina Messages postés 23923 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
Bonjour,

Ton publipostage (quelle que soit la version) va te créer un document constitué d'autant de sections (pages) que de machines.
Puisque tu as 10 onglets, tu devras recommencer 10 fois... Mais rassure toi c'est extrêmement rapide.

Si ensuite tu souhaites séparer chacun de ces documents résultats du publipostage en autant de fichiers qu'il y a de page, voici la solution :
https://support.microsoft.com/en-us/help/216201
rubrique : séparer les fichiers par section.

m@rina
0
UsulArrakis Messages postés 7405 Date d'inscription   Statut Contributeur Dernière intervention   3 190
 
Hello m@rina ;-)

si je comprends bien, la difficulté reste de récupérer dans la macro le champ "nom pc" pour le le mettre dans Filename=...
0
pierreh59 Messages postés 227 Date d'inscription   Statut Membre Dernière intervention   27
 
iMPECCABLE TOUT CA !!!!!

il me reste plus qu'à trouver la soluce pour enregistrer chaque fiche

Merci bcp !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
m@rina Messages postés 23923 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
Oui, la dernière difficulté réside dans l'enregistrement du fichier avec le nom correct... mais ce n'est pas insurmontable ! ;)

J'ai regardé la macro d'un peu plus près. Je constate qu'elle n'est pas nickel chrome mais bon... ça ira.
Quand tu lances la macro, il faudra que le point d'insertion se trouve dans la première section.

Ensuite, dans la macro, il faut créer une variable pour le nom. Supposant que c'est le 4e mot qui va servir de nom au fichier (si c'est pas le 4e, tu changes) :

Dim Nom 'à mettre au début de la macro
...
Set nom = ActiveDocument.Bookmarks("\Section").Range.Words(4)

à mettre après la fonction de copy

et à la place de ActiveDocument.SaveAs FileName:="test_" & DocNum & ".doc"
tu mettras :

ActiveDocument.SaveAs FileName:=nom & ".doc"


Voilà, ça devrait fonctionner.

m@rina

0
pierreh59
 
Merci

de toutes les réponses......... mais étant very noob sur excel.........
à part les errers récurrentes, j'ai réussi simplement à fermer mes publipostages.........


oppps
0
m@rina Messages postés 23923 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
Bonjour

En l'occurence, c'est pas de l'Excel, mais du Word !...

m@rina
0
pierreh59
 
Oui oui tout à fait.........................c'est bien pour çà que je suis une bille ...........

Mais j'ai bien fait la macro sous Word ;-)
0
m@rina Messages postés 23923 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
La macro fonctionne parfaitement.... Où est le problème ?

m@rina
0
pierreh59
 
j'ai mis le 14 mots comme reference du nom de fichier,

j'execute la macro ma lettre disparait et je ne trouve rien d'enregistrer
0
pierreh59
 
héhé voilà la quiche : je n'ai pas fusionné avant l'execution de la macro !!!

par contre j'ai une erreur voila le n° et le script


erreur d'execution 4192 la commande a échoué

Sub BreakOnSection()
Dim Nom
' Used to set criteria for moving through the document by section.
Application.Browser.Target = wdBrowseSection

'A mailmerge document ends with a section break next page.
'Subtracting one from the section count stop error message.
For i = 1 To ((ActiveDocument.Sections.Count) - 1)

'Select and copy the section text to the clipboard
Set Nom = ActiveDocument.Bookmarks("\Section").Range.Words(16)

'Create a new document to paste text from clipboard.
Documents.Add
Selection.Paste

' Removes the break that is copied at the end of the section, if any.
Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend
Selection.Delete Unit:=wdCharacter, Count:=1

ChangeFileOpenDirectory "C:\fiches"
DocNum = DocNum + 1
ActiveDocument.SaveAs FileName:=Nom & ".doc" <------- LIGNE SURLIGNEE
ActiveDocument.Close
' Move the selection to the next section in the document
Application.Browser.Next
Next i
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub



Merci
0
m@rina Messages postés 23923 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
Bonsoir,

Ah ben oui, si la fusion n'était pas faite, ça ne risquait pas de marcher... Je ne sais pas pourquoi, mais beaucoup d'utilsiateurs s'arrêtent juste avant de faire la fusion... Faudra unn jour qu'on m'explique pourquoi !!! :D

Concernant la macro, il te manque l'antislash à la fin du chemin :
ChangeFileOpenDirectory "C:\fiches\"

m@rina
0
pierreh59 Messages postés 227 Date d'inscription   Statut Membre Dernière intervention   27
 
Re çà commence à marcher

Les deux derniers points :

1/ Je trouve sur c:\fiches un seul fichier nommé nom.doc
2/ et je souhaite que la "section" fasse deux pages et non une à première vue (quand la macro travaille je vois 1400 ouvertures de doc word)

Merci !
0
m@rina Messages postés 23923 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
Je ne comprends pas ta demande. Les sections se font toutes seules. Ce n'est pas à toi de décider... Si au départ, ton document principal de fusion fait 2 pages, chaque section fera 2 pages. Si le document fait 5 pages, chaque fusion fera 5 pages... Tout dépend de ton doc principal de fusion.

Quant au nom, je ne comprends pas... J'ai vérifié la macro, je l'ai testée, j'ai juste modifié un détail. Je la remets ici, elle fonctionne parfaitement. Elle doit bien être exécutée sur le document fusionné.

Sub BreakOnSection2()
Dim Nom
Selection.HomeKey Unit:=wdStory
Application.Browser.Target = wdBrowseSection

For i = 1 To ((ActiveDocument.Sections.Count) - 1)

Set Nom = ActiveDocument.Bookmarks("\Section").Range.Words(3)

Documents.Add
Selection.Paste

' supprime le saut de section
Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend
Selection.Delete Unit:=wdCharacter, Count:=1

ChangeFileOpenDirectory "C:\fiches\"
DocNum = DocNum + 1
ActiveDocument.saveas FileName:=Nom & ".doc"
ActiveDocument.Close
Application.Browser.Next
Next i
End Sub



m@rina
0