Macro Copier/Coller données Excel vers document Word avec Signets

julien91080

XLDnaute Occasionnel
Bonjour à tous,

Etant novice en Excel et en VBA, je me permets de solliciter votre aide. Voici mon problème : J’essai de créer une base Excel comprenant diverses informations sur des écoles. Ce fichier Excel comprend 3 boutons :

- Consulter une fiche école: en sélectionnant le nom d’une école dans la colonne « Ecole » et en cliquant sur le bouton, la macro créée un document Word dans un répertoire bien défini si la fiche n’existe pas (ici dans « Mes documents » sur mon poste, à adapter pour que cela fonctionne chez vous) sinon, si la fiche existe déjà, la macro affiche la fiche.

- Remplir fiche : en sélectionnant le nom d’une école dans la colonne "Ecole" et en cliquant sur le bouton, la macro va chercher la fiche école vierge et un fichier « Template » (Répertoire défini aussi dans « Mes documents », à adapter). La macro Copie/Colle le Template sur la fiche école et impacte les données du fichier Excel via des signets.

- Mise à jour Fiche : en sélectionnant le nom d’une école dans la colonne "Ecole" et en cliquant sur le bouton, la macro va chercher la fiche école remplie et met à jour les signets en fonction des données du tableau.

Mon problème est que les boutons « Remplir fiche » et « Mise à jour fiche » fonctionnent une fois sur deux occasionnant une « Erreur 642 ». Ce problème empêche l’utilisateur de créer ou de mettre à jour plusieurs fiches d’affilé.

Pensez-vous pourvoir m’aider ?

Si oui, modifiez dans les Modules 2 et 3, les adresses pour le fichier « Template » et pour situer la création des fiches.
Dans Microsoft Visual Basic > Outils > Références > j’ai coché « Visual Basic For Applications », « Microsoft Excel 11.0 Object Library », « OLE Automation », « Microsoft Office 11.0 Object Library » et « Microsoft Word 11.0 Object Library ».

Je précise qu’il aurait probablement été plus simple de le faire sous Access mais je ne peux pas l’utiliser. De plus, si vous voyez une autre manière de faire sous Excel, je suis preneur.

Merci par avance pour votre aide, je m’en remets à vous et à votre expertise.
 

Pièces jointes

  • Problème Excel.xls
    52 KB · Affichages: 139
  • Problème Excel.xls
    52 KB · Affichages: 148
  • Problème Excel.xls
    52 KB · Affichages: 150

julien91080

XLDnaute Occasionnel
Re : Macro Copier/Coller données Excel vers document Word avec Signets

Voici en plus le "template"

Merci par avance
 

Pièces jointes

  • Template.zip
    6.5 KB · Affichages: 127
  • Template.zip
    6.5 KB · Affichages: 126
  • Template.zip
    6.5 KB · Affichages: 127

Yaloo

XLDnaute Barbatruc
Re : Macro Copier/Coller données Excel vers document Word avec Signets

Bonsoir à tous,

Oh il est un peu taquin Job aujourd'hui ;).

Oui c'est possible, mais il serait bien d'y aller petit à petit, car comme tu as déjà commencé les macros, il faut prendre en cours de route.

Je vais y regarder, mais pas tout de suite.

Martial
 

Yaloo

XLDnaute Barbatruc
Re : Macro Copier/Coller données Excel vers document Word avec Signets

Re,

Voici le premier point traité dans le fichier ci-joint, me dire si c'est OK ensuite on continuera.

A te relire

Martial
 

Pièces jointes

  • Julien.zip
    47.8 KB · Affichages: 158
  • Julien.zip
    47.8 KB · Affichages: 142
  • Julien.zip
    47.8 KB · Affichages: 165
Dernière édition:

julien91080

XLDnaute Occasionnel
Re : Macro Copier/Coller données Excel vers document Word avec Signets

Martial, la macro que tu as modifiée fonctionne bien chez moi, je t'en remercie.
Donc c'est OK pour cette partie. Il me faut maintenant la possibilité de mettre à jour ces fiches via un boutton.

A bientôt
 

Yaloo

XLDnaute Barbatruc
Re : Macro Copier/Coller données Excel vers document Word avec Signets

Bonjour Julien,

Pour la mise à jour, plutôt que de modifier ta fiche, moi je l'écraserai.

Tu testes si ta fiche existe, tu en crée une nouvelle puis tu l'enregistres sur l'autre ou alors tu supprimes l'existante puis tu en crée une nouvelle.

A+

Martial
 

julien91080

XLDnaute Occasionnel
Re : Macro Copier/Coller données Excel vers document Word avec Signets

Bonjour Martial,

Le problème est que dans mon template, j'ai prévu une partie "Commentaires" et une autre "Historique des contacts" qui sont remplis indépendamment du fichier Excel par les utilisateurs. Donc il ne faut pas écraser ou supprimer la fiche sinon les informations seront perdues.
Sinon l'idée est bonne je la garde sous le coude ;)


A+
 

Yaloo

XLDnaute Barbatruc
Re : Macro Copier/Coller données Excel vers document Word avec Signets

Bonsoir Julien, le forum,

Voici une version qui va dans la bonne voie mais n'ai pas complètement concluante.

Lorsque tu cliques sur le bouton "Mise à jour" ça fait bien le travail demandé, mais si tu cliques une seconde fois (sur la même ligne ou pas) les signets ne sont pas modifiés.

Voici quand même les fichiers : l'un Excel, l'autre Word.

A+

Martial

PS : ATTENTION, j'ai modifié le type de signet.
 

Pièces jointes

  • Problème Excel.xls
    57 KB · Affichages: 178
  • Ecole 2.doc
    53.5 KB · Affichages: 147
  • Problème Excel.xls
    57 KB · Affichages: 169
  • Problème Excel.xls
    57 KB · Affichages: 185

julien91080

XLDnaute Occasionnel
Re : Macro Copier/Coller données Excel vers document Word avec Signets

Re Martial,

Chez moi, la macro ne fonctionne pas (erreur de compilation, Type défini par l'utilisateur non défini)...

faut-il que j'active quelque chose de particulier dans référence?

Merci déjà pour tout le travail fourni :)
 

Yaloo

XLDnaute Barbatruc
Re : Macro Copier/Coller données Excel vers document Word avec Signets

Bonjour Julien,

Chez moi, ça fonctionne correctement enfin pour la première "Mise à Jour".

Je n'ai rien changé au niveau des références.

Essaies de passer en modifiant tes lignes de déclarations de variable comme ci-dessous. Pendant un temps chez moi, ça plantait et j'étais obligé de passer comme ça.

VB:
Sub InsererTexte()
Dim appWord As Object 'Word.Application
Dim monDocument As Object 'Word.Document
Dim NomDoc$, i&

A+

Martial
 

julien91080

XLDnaute Occasionnel
Re : Macro Copier/Coller données Excel vers document Word avec Signets

Martial,

Maintenant c'est la deuxième partie du code qui bug:

Public Sub RemplirSignet(S As String, T As String)
' Remplit le signet S avec le texte T sans détruire S
On Error GoTo rien
Dim Place As Long
Place = ActiveDocument.Bookmarks(S).Range.Start
ActiveDocument.Bookmarks(S).Range.Text = T
ActiveDocument.Bookmarks.Add Name:=S, Range:=ActiveDocument.Range(Place, Place + Len(T))
rien:
End Sub

D'autre part, ma macro de base écrasait bien les données compris dans les signets (fonctionnalité que j'aimerais concerver si possible).

Je continue de travailler dessus.

Cordialement,

Julien
 

Discussions similaires

Réponses
25
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof