> Tous les forumsBureautique

 importation de donnees formatees .xls vers .docSujet résolu
Statut du sujet : RESOLU Imprimer
 NemKa
  Posté le 13/06/2007 @ 14:06  
 Petit astucien

75 Messages

Bonjour tout le monde,

Voila mon souci:

J'ai un tableur xls dans le quel j'ai toutes les donnees qu'il me faut pour creer les lignes d'un catalogue.

J'ai le catalogue tout beau tout propre en document word.

Je voudrais faire une augmentation generale de tarif (vous inquietez pas, pas bcp, 2-3%, de toutes facons y'a peu de chances que vous soyez clients...). Dans mon tableur c'est facile, une petite formule de rien du tout et voila.

Le souci, c'est comment, une fois les nouveaux prix obtenus, les integrer au catalogue word, de preference deja formate (Times New Roman 12pts gras), et surtout, au bon endroit!

Une ligne de mon tableur ressemble a ca:

Produit | Presentation | Purete | Dimension 1 | Dimension 2 | Prix 1 | Prix 2

Une ligne de mon catalogue ressemble a ca:

Produit, Purete (Tab) Dimension 1 (Tab) Prix 1

Presentation

(Tab) Dimension 2 (Tab) Prix 2

Est-ce qu'une macro saurait faire ca?

Est-ce que quelqu'un est suffisament gentil et balaise pour m'expliquer pas a pas ce que je dois faire?

En tout cas, merci a tous ceux qui auront pris le temps de me lire et encore plus a ceux qui se casseront la tete avec moi.

 Afficher le profil de NemKaEnvoyer un message privé à NemKa
 
 
Publicité
 jesaisrien  Posté le 13/06/2007 à 14:44  
Petit astucien


469 Messages

NemKa,

quel dommage que tu n'aies pas insérer le joli tableaux Excel dans le tout beau catalogue Word...

sinon, est il possible d'insérer une ligne sous les prix et d'y mettre la formule (Tableau / Formule) =product(ABOVE)*1,02 (par exemple)

ou de rajouter une colonne et d'y mettre =product(LEFT)*1,02



Modifié par jesaisrien le 13/06/2007 14:46
Afficher le profil de jesaisrienEnvoyer un message privé à jesaisrien
 Revenir en haut de la page
 NemKa  Posté le 13/06/2007 à 15:02  
Petit astucien

75 Messages

C'est tres gentil de te foutre de ma gu. comme ca mais je suis pas sur que tu m'ai compris, peut-etre n'ai-je pas ete assez clair.

En fait je voudrais que les prix se mettent a jour dans le document word (si ca se fait automatiquement a chaque modification du fichier xls, j'ai un orgasme).

Parlais-tu d'inserer une ligne dans le document word ou excel?

La mise en page du catalogue est assez compliquee, il me parait difficile d'inserer une ligne, une cellule eventuellement, mais comment lui dire ou chercher l'info (on est dans word, info dans excel).

Pour calculer les nouveaux prix, ca va je gere pas mal les fonctions basiques d'excel.

Merci quand meme petit rigolo tout drole...

Afficher le profil de NemKaEnvoyer un message privé à NemKa
 Revenir en haut de la page
 jesaisrien  Posté le 13/06/2007 à 15:18  
Petit astucien


469 Messages

Re,

NemKa, on est partis sur de mauvaises bases !

Je ne me foutais absolument pas de toi, c'est pas mon truc, donc, on reprend

Si tu peux rajouter une colonne à ton tableau, après les prix, tu peux augmenter les prix par la formule que je t'ai indiquée.

si tu insères le tableau par Insertion / Objet / Créer à partir du fichier ..., un double clic sur une cellule sur Word t'ouvre le Fichier Excell.

J'espère avoir éclairci le sujet, et mes excuses pour le mauvais départ .

Afficher le profil de jesaisrienEnvoyer un message privé à jesaisrien
 Revenir en haut de la page
 NemKa  Posté le 13/06/2007 à 15:34  
Petit astucien

75 Messages

Oh laaaa, t'inquiete pas, je suis le premier a me chambrer quand je peux, j'aime bien...

Cote bureautique, je vais voir si je comprends mieux ce que tu m'as dis en testant (parceque pour l'instant ca me parait trop simple pour marcher... surtout cote format, alignement, etc.)

Je te tiens au courat des que j'ai des news

Merci encore

Afficher le profil de NemKaEnvoyer un message privé à NemKa
 Revenir en haut de la page
 m@rina  Posté le 15/06/2007 à 01:42  
Astucien


1004 Messages

Bonsoir Nemka,

Si j'ai bien compris, tu gères les montants dans Excel, et tu les intègres dans Word. A chaque modif dans Excel, tu veux que le doc Word soit mis à jour mais que le format wordien reste tel qu'il est.

Pas de soucis pour ça : tu copies ta cellule, tu la colles dans Word à l'endroit souhaité via un collage spécial avec lien, format html ou rtf. Tu mets en forme ton ton chiffre dans Word. Toujours dans Word, tu vas dans le menu Edition, Liaison, et tu coches l'option "Conserver la mise en forme après la mise à jour".

Modifie ton nombre dans Excel, et regarde le résultat dans Word, et... attention à l'orgasme !! ;))))

m@rina
mvp word
http://faqword.free.fr

Afficher le profil de m@rinaEnvoyer un message privé à m@rina
 Revenir en haut de la page
 NemKa  Posté le 15/06/2007 à 09:47  
Petit astucien

75 Messages

Oh m@rina, oh m@rina,

Oh que c'est bon le matin de bonne heure (et bonheur) quand j'arrive au boulot d'avoir une bonne nouvelle comme caaaaAAAAAAaaaAAAAhhhAAAAAAAhaaaa (pardon...)

Super merci a tous les deux.

Take Care

Afficher le profil de NemKaEnvoyer un message privé à NemKa
 Revenir en haut de la page
 jesaisrien  Posté le 15/06/2007 à 10:00  
Petit astucien


469 Messages

, Merci m@rina,

c'est pour ça que j'aime PCA, on apprends toujours quelquechose !

Afficher le profil de jesaisrienEnvoyer un message privé à jesaisrien
 Revenir en haut de la page
 m@rina  Posté le 15/06/2007 à 11:59  
Astucien


1004 Messages

Hello !!

Ravie d'avoir pu te donner autant de bonheur de bon matin !!!

Je fréquente plusieurs forums, mais celui-ci est particulièrement sympa...

Bonne journée à tous,

m@rina

Afficher le profil de m@rinaEnvoyer un message privé à m@rina
 Revenir en haut de la page
 jesaisrien  Posté le 15/06/2007 à 15:14  
Petit astucien


469 Messages
m@rina a écrit :

Hello !!

...Je fréquente plusieurs forums, mais celui-ci est particulièrement sympa...

Bonne journée à tous,

m@rina

c'est grâce à des gens comme toi, tous ceux ici qui ont beaucoup de connaissances, mais ne "se la pètent pas", comme disent les jeunes,

Afficher le profil de jesaisrienEnvoyer un message privé à jesaisrien
 Revenir en haut de la page
 jesaisrien  Posté le 15/06/2007 à 15:17  
Petit astucien


469 Messages
m@rina a écrit :

...

Je fréquente plusieurs forums, mais celui-ci est particulièrement sympa...

Bonne journée à tous,

m@rina

C'est grâce à des gens comme toi, tous ceux qui savent beaucoup de choses mais ne "se la pètent pas", comme disent les jeunes, et sont toujours prêts à répondre à la plaisanterie

Afficher le profil de jesaisrienEnvoyer un message privé à jesaisrien
 Revenir en haut de la page
 NemKa  Posté le 21/06/2007 à 15:10  
Petit astucien

75 Messages

Re-coucou tout le monde,

J'ai un petit probleme de format...

Voila, j'ai copie tous les liens (la galere, je vous raconte pas, meme avec un raccourci macro j'ai mis 3 jours). Donc ca, c'est fait.

Mon souci est que je ne trouve pas l'option "maintenir la mise en forme lors de la mise a jour" dont tu m'as parle M@rina, a chaque update j'ai un magnifique assemblage de tailles de police qui fait tres art comptemporain (ou "content pour rien" pour les connaisseurs ). Y'a-t-il un moyen d'arranger ca?

P.S. : Me dites pas qu'il faut que je me retappe tous les liens parceque sinon je pleure

Afficher le profil de NemKaEnvoyer un message privé à NemKa
 Revenir en haut de la page
 m@rina  Posté le 22/06/2007 à 01:10  
Astucien


1004 Messages

Bonsoir Nemka,

Non, je ne pense pas qu'il sera nécessaire de refaire les liens...

Tout d'abord, as-tu bien coché pour chaque lien l'option "Conserver la mise en forme après la mise à jour" ?

Si oui, je pense qu'il s'agit, comme bien souvent, d'un problème de style.

Le mieux, si tu veux toujours utiliser la même police et le même formatage pour tes liens, est de créer un style de caractère (voire de paragraphe... cela dépend de tes liens).

Pour aller vite, tu peux utiliser le recherche-remplace. Mais auparavant passe en visualisation des codes de champs (Al + F9) :

- Recherche : ^d LINK

- Remplace : tu ne mets rien mais, dans la liste déroulante Format (située en bas de la boîte de Dialogue), tu choisis Style et tu sélectionnes le style que tu as choisi.

Même s'il est toujours possible d'annuler, je te conseille néamoins de travailler sur une copie. Si ça ne fonctionne pas ou mal, c'est qu'il y a eu du bricolage... Dans ce cas, reviens ! ;)

m@rina
mvp word
http://faqword.free.fr

Afficher le profil de m@rinaEnvoyer un message privé à m@rina
 Revenir en haut de la page
 NemKa  Posté le 22/06/2007 à 10:03  
Petit astucien

75 Messages

Merci pour ton aide, ... mais ca a pas marche ...

En fait je me retrouve avec des trous a certains endroits. Par contre j'ai pu voir ce qui ne va pas. Certains liens (ceux qui sortent avec la mauvaise police) ne sont pas pareil, il manque "MERGEFORMAT" (N.B.1: Je suis en angleterre, tout est en anglais. N.B.2: Dans mon classeur xls, les colonnes a importer sont au bon format):

Marche: LINK Excel.Sheet.8"C:\\..."Sheetl!R762C15 \a \r \* MERGEFORMAT

Marche pas: LINK Excel.Sheet.8"C:\\..."Sheetl!R762C15 \a \r

Donc si je fais un recherche/ remplace, champs apparents (Alt+F9)

recherche: " \a \r " (option correspondance exacte)

remplacer: " \a \r \* MERGEFORMAT " ca devrait le faire, nan?

Je test et je vous tiens au courant.

Encore merci tout plein a m@rina , il va falloir que je te paye un verre

Ca pourrait faire une occasion de se connaitre mieux, j'adore ton prenom...

Afficher le profil de NemKaEnvoyer un message privé à NemKa
 Revenir en haut de la page
 NemKa  Posté le 22/06/2007 à 10:27  
Petit astucien

75 Messages

...Bon ben ca aurait pu marcher...

Apparement il trouve rien

Au pire je rajoute \* MERGEFORMAT a la main partout ou ca manque (enfin t'inquiete pas, si deja Ctrl+V).

Enfin bon, moi ca m'arrange pas d'autant j'ai beaucoup de taf en ce moment, va falloir que j'engage des petits pour bosser a ma place ( Paaaas Bieeen , c'est deja de la xenophobie ca... oh, allez, on rigole, je les aime bien en plus les noich' -euh, pardon, les asiatiques, c'est vrai, ils cuisinent vachement bien enfin mieux que les anglais en tous cas, ce qui n'est franchement pas dur, oups, bon, j'arrete les cliches )

Bref, ca arrange pas mes affaires tout ca. Si quelqu'un (meme si il est chinois ou anglais) a une solution...

Allez, A Slup

Afficher le profil de NemKaEnvoyer un message privé à NemKa
 Revenir en haut de la page
 Bérylion  Posté le 22/06/2007 à 11:51  
Astucien


2278 Messages
Salut

pour faire le boulot à la place de tes :

Sub Macro1()
For Each fld In ThisDocument.Fields
If fld.Type = 56 Then fld.Code.Text = fld.Code.Text & "\* MERGEFORMAT"
Next
End Sub

ça t'éviteras au moins de tout te palucher si ça fonctionne pas...
Afficher le profil de Bérylion Voir la configuration de BérylionEnvoyer un message privé à Bérylion
 Revenir en haut de la page
 m@rina  Posté le 22/06/2007 à 12:08  
Astucien


1004 Messages

Bonjour,

Euh... A la place de MERGEFORMAT, il vaut mieux mettre CHARFORMAT.

m@rina
mvp word
http://faqword.free.fr

Afficher le profil de m@rinaEnvoyer un message privé à m@rina
 Revenir en haut de la page
 NemKa  Posté le 22/06/2007 à 12:41  
Petit astucien

75 Messages

Merci tout le monde, on va essayer tout ca, juste une question chacun...

Berylion: La macro, je la rentre dans l'editeur VBA, et apres? Si je fais "Outils, Macro, Lancer la macro" y'a rien qui change (j'ai essayant en selectionnant les champs, marche pas non plus). Merci de m'aider sur la mise en oeuvre.

M@rina: CHARFORMAT ca veut dire quoi? parceque MERGEFORMAT ca veut dire Fusionner le format, CHAR c'est pour quoi?

Merci a tous les deux

Afficher le profil de NemKaEnvoyer un message privé à NemKa
 Revenir en haut de la page
 NemKa  Posté le 22/06/2007 à 13:39  
Petit astucien

75 Messages

Re-coucou tous le monde,

J'ai fais un premier test, m@rina, encore une fois, merci , ca fonctionne nickel avec le CHARFORMAT (et pas top avec le MERGEFORMAT).

Je n'attend plus que les infos pour faire fonctionner la macro parceque franchement, j'ai pas envie de modifier les 1785 liens a la main...

Pour resumer:

J'ai des liens qui ressemblent a ca:

{ LINK Excel.Sheet.8"C:\\...adressedulien..." Sheetl!R762C15 \a \r }

et a ca:

{ LINK Excel.Sheet.8"C:\\...adressedulien..." Sheetl!R762C15 \a \r \* MERGEFORMAT }

Les liens de la premiere forme doivent absolument etre change en:

{ LINK Excel.Sheet.8"C:\\...adressedulien..." Sheetl!R762C15 \a \r \* CHARFORMAT }

Et les liens de la deuxieme forme aussi si possible (ca evitera les surprises...)

Ce sont des liens vers des cellules Excel mis en place par: collage special, lien, RTF

La macro donnees par Berylion ne fonctionne pas ou je ne sais pas la faire fonctionner.

Voila, voila, si vous pouviez me sauver la mise sur ce coup la, ce serait franchement cool parcequ'il commence a me saouler ce catalogue...

Afficher le profil de NemKaEnvoyer un message privé à NemKa
 Revenir en haut de la page
 Bérylion  Posté le 22/06/2007 à 14:09  
Astucien


2278 Messages
re

pas de souci chez moi, ça fonctionne ?!

il faut coller le code dans un module standard, et lancer la macro...
(attention, il faut que les macro soient activées )

j'ai retravaillé la bête en fonction de la demande :

Sub Nemka()
Application.ScreenUpdating = False
For Each fld In ThisDocument.Fields
If fld.Type = 56 Then
If Right(fld.Code.Text, 14) = "\* MERGEFORMAT" Then
fld.Code.Text = Left(fld.Code.Text, Len(fld.Code.Text) - 14) & "\* CHARFORMAT"
ElseIf Right(fld.Code.Text, 13) <> "\* CHARFORMAT" Then
fld.Code.Text = fld.Code.Text & "\* CHARFORMAT"
End If
End If
Next
ThisDocument.Fields.Update
Application.ScreenUpdating = True
End Sub

Bonne chance !!
Afficher le profil de Bérylion Voir la configuration de BérylionEnvoyer un message privé à Bérylion
 Revenir en haut de la page
 m@rina  Posté le 22/06/2007 à 15:23  
Astucien


1004 Messages

Rebonjour ! ;)

CHARFORMAT ca veut dire quoi?


Le commutateur MERGEFORMAT garde le format sur le nombre de mots du résultat du champ. Si le champ, après modification, a un nombre de mots plus important, le format ne suit pas.

exemple :

le texte d'origine est : "mes vacances"

Le lien avec formatage : {LINK ... \MERGEFORMAT} : mes vacances

Le lien change et devient "vacances à la mer", le lien avec MERGEFORMAT devient : vacances à la mer

En effet, le format a été fait sur deux mots, il est donc conservé sur deux mots. Le commutateur CHARFORMAT, quant à lui, ne fait pas de détail : il applique et conserve le format au champ complet, que le nombre de mots change ou non.

Ça va comme ça ?...

m@rina
mvp word
http://faqword.free.fr

Afficher le profil de m@rinaEnvoyer un message privé à m@rina
 Revenir en haut de la page
 NemKa  Posté le 22/06/2007 à 15:39  
Petit astucien

75 Messages

T'es un amour,

C'est trop gentil la belle macro que tu m'as prepare, avec mon nom comme nom de macro, c'est trop mignon. Bon je voudrai juste m'en servir correctement, alors dis-moi si je fais bien:

J'ouvre mon document, Outils, Macro, Visual Basic Editor , la je tape la macro que tu m'a donnee. Je sauvegarde, je ferme VBA.

Dans mon doc Word, Je fais Outils, Macro; je selectionne la macro (la macro Nemka... la classe!) et je clique sur "lancer la macro".

Faut-il que je selectionne le texte avant de lancer la macro?

Si jamais j'ai tout faux, tu pourrais me faire un "pas a pas", que je sache quoi faire.

Encore merci, t'es vraiment trop cool.

A plus

Afficher le profil de NemKaEnvoyer un message privé à NemKa
 Revenir en haut de la page
 NemKa  Posté le 22/06/2007 à 15:59  
Petit astucien

75 Messages

Ah m@rina,

Quel plaisir de te lire a chaque fois, j't'adore. C'est vrai, je te connais meme pas mais j't'adore.

Bon moi je suis grand, brun, baraque, teint mat, yeux verts, gueule de manequin, riche et intelligent (c'est beau de rever), faut qu'on se rencontre!!! (nan, je rigole, en plus je suis pris )

Merci pour les details, ca marche nickel.

T'es une bombe,

Take Care

Afficher le profil de NemKaEnvoyer un message privé à NemKa
 Revenir en haut de la page
 NemKa  Posté le 22/06/2007 à 16:10  
Petit astucien

75 Messages

Re-salut Berylion (et j'espere pour la derniere fois sur ce sujet)

J'ai fais comme indique ci-dessus, pas de fautes dans la macro mais par contre, j'ai pas un seul lien qui a bouge d'un centimetre, toujours les memes... pas un seul CHARFORMAT a l'horizon...

PLEASE, HELP

Afficher le profil de NemKaEnvoyer un message privé à NemKa
 Revenir en haut de la page
 Bérylion  Posté le 22/06/2007 à 19:23  
Astucien


2278 Messages

re

la macro est à coller dans un module standard

si tu sais pas faire :

dans ton doc tu fais outils/macro/nouvelle macro...

nom de la macro : NemKa
enregistrer dans : nomdetondoc

ensuite, tu cliques sur "arreter l'enregistrrement"

ensuite, tu fais outils/macro/macros
tu choisis NemKa et tu cliques sur "modifier"

enfin, tu fais un copier/coller du code suivant :

Sub Nemka()
Application.ScreenUpdating = False
For Each fld In ThisDocument.Fields
If fld.Type = 56 Then
If Right(fld.Code.Text, 14) = "\* MERGEFORMAT" Then
fld.Code.Text = Left(fld.Code.Text, Len(fld.Code.Text) - 14) & "\* CHARFORMAT"
ElseIf Right(fld.Code.Text, 13) <> "\* CHARFORMAT" Then
fld.Code.Text = fld.Code.Text & "\* CHARFORMAT"
End If
End If
Next
ThisDocument.Fields.Update
Application.ScreenUpdating = True

End Sub

à la place ce qu'il y a écrit

(en gros, tu touches pas au rouge et tu remplaces tout le reste par le bleu )


ensuite, dans ton doc, outils/macro/macros
tu choisis NemKa, tu cliques sur exécuter, et tu laisses pédaler pendant la pause des (y z'auront sans doute meme pas le tps pour un court sans sucre...)


Bon, peux pas faire mieux, alors la dessus bon ouikenne, et donne des nouvelles...


Afficher le profil de Bérylion Voir la configuration de BérylionEnvoyer un message privé à Bérylion
 Revenir en haut de la page
 NemKa  Posté le 25/06/2007 à 11:48  
Petit astucien

75 Messages

Ben en gros c'est ce que j'avais fait... Bon des fois je cherche pas trop a comprendre.

On m'a donne une autre macro, celle-la a marche tout de suite. Je la met ici au cas ou ca peut servir...

For Each fld In ActiveDocument.Fields
If fld.Type = 56 Then
If InStr(fld.Code.Text, "\* MERGEFORMAT ") <> 0 Then
fld.Code.Text = Left(fld.Code.Text, Len(fld.Code.Text) - Len("\* MERGEFORMAT ")) & "\t " & "\* CHARFORMAT "
ElseIf InStr(fld.Code.Text, "\* CHARFORMAT ") = 0 Then
fld.Code.Text = fld.Code.Text & "\t " & " * CHARFORMAT "
End If
End If
Next
Merci de ton aide, a bientot.
Take Care
Afficher le profil de NemKaEnvoyer un message privé à NemKa
 Revenir en haut de la page
 Bérylion  Posté le 25/06/2007 à 19:43  
Astucien


2278 Messages



ouais, ça ce vaut, mais de la à savoir pourquoi l'autre ne fonctionne pas... ??!


Afficher le profil de Bérylion Voir la configuration de BérylionEnvoyer un message privé à Bérylion
 Revenir en haut de la page
 NemKa  Posté le 26/06/2007 à 09:55  
Petit astucien

75 Messages

T'essaye encore de comprendre des choses comme ca?

Moi avec l'informatique j'ai arrete de me poser ces questions la...

Petite pensee du jour: Parle-t-on de mise en forme characterielle parcequ'elle s'applique aux characteres de police ou juste parceque des fois, elle est vraiment mal lunee?

Afficher le profil de NemKaEnvoyer un message privé à NemKa
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte




Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsBureautique

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page