Macro Excel pour expoter des données vers des signet dans word [Résolu]

- 8 nov. 2012 à 18:53 - Dernière réponse :  Gabrieljb
- 9 nov. 2012 à 14:38
Bonjour;
j'ai réaliser un macro excel en VB qui fait l 'export de la ligne selectionné dans la feuille excel vers une template word , a l'aide des signet dans la template.doc. Mais, j'ai trouvé beaucoup des problemes dans ce macro:

1. Le chemin des fichier excel et word peut changer, d une machine a l'autre, d'ou je doit avoir un chemin generique pour tout les utilisateurs.

2.Le macro contient une boucle:
"""
For i = 1 To 109
WordDoc.Bookmarks("Signet" & i).Range.Text = Cells(ActiveCell.Row, i)
Next i
""""
*109 est le numero de la derniere colonne , peut-on la remplacer avec une variable , n par exemple.
*dans la feuilles excel , y en a des cellules qui ne vont pas etre exporté vers le fichier word , mais si je les supprime du document word , le macro ne fonctionne plus , d ou je doit inserer les signets dans un autre endroit du document et ce n'est pas du tout beau.

3.mon Macro est enregistré dans ( PERSO.XLS) , et sa fonctionne pour tout les classeurs excel; mais si je veut travaillé sur autre machine , que doit-je faire ??

4.Merci pour votre aides et vos temps.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 9 nov. 2012 à 11:35
3
Merci
Par exemple, ler tableau contient : NOm, Prenom, Numero de tel, Matricule, Nationalitée,... , Adress mail. donc "address mail" sera la derniere colonne du tableau

La ligne 1 de ce "tableau" contient-elle ces entêtes ? et démarre-t-elle bien en colonne 1 ?
Si oui :
n = Cells(1, Columns.Count).End(xlToLeft).Column

Idem si pas d'entêtes mais que toutes les colonnes utiles de la ligne 1 sont remplies

Si tu n'es pas dans ce cas, il nous faudra procéder autrement, mais, pour y parvenir, en savoir beaucoup plus sur tes "tenants".
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de ucfoutu
- 9 nov. 2012 à 04:11
0
Merci
Bonjour,


1. Le chemin des fichier excel et word peut changer, d une machine a l'autre, d'ou je doit avoir un chemin generique pour tout les utilisateurs.


Foutaise. VBA a des boîtes de dialogue intégrées. Voir FileDialog dans l'AIDE DE VBA


3.mon Macro est enregistré dans ( PERSO.XLS) , et sa fonctionne pour tout les classeurs excel; mais si je veut travaillé sur autre machine , que doit-je faire ??


Une macro complémentaire qui va être installée sur les autres machines.

Pour la question 2, il faut attendre qu'un devin passe.
Commenter la réponse de Utilisateur anonyme
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 9 nov. 2012 à 07:58
0
Merci
Bonjour (et un salut à cmarcotte),
Qu'est très exactement 109 (à remplacer par ton n) ?
Car :
*109 est le numero de la derniere colonne

peut être interprété de 3 manières différentes !
Nous allons donc attendre que tu sois techniquement très précis en ce qui concerne ce point !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
0
Merci
Bonjour ucfoutu , Bonjour cmarcotte;

C'est exactement sa, 109 est le numero de la derniere colonne.

Pour la question 3 ; si je crée un macro complementaire , comment puis-je l installer sur des autres machines; sa reste aussi un probleme de chemin (Path ) , nn ??
Commenter la réponse de Gabrieljb
0
Merci
je voulais dire par une derniere colonne ,la derniere colonne du tableau excel que je voudrais l'injecter dans un document word. Mon boucle parcour un ligne du tableau et, a l aide des signets dans word , remplace chaque signet par sa valeur correspandante dans la feuille excel , d ou je voudrais que la boucle s arrete a la fin du tableau et n sera le numero de la derniere colonne de la premiere ligne du tableau excel. Par exemple, ler tableau contient : NOm, Prenom, Numero de tel, Matricule, Nationalitée,... , Adress mail. donc "address mail" sera la derniere colonne du tableau dont j voudrais affetvé la variable n .

j'ai essayer "n=Column.count" mais sa na pas marché. Est-ce que ma question est bien claire? Merci pour votre aide .
Commenter la réponse de Gabrieljb
0
Merci
Je vous remercie ucfoutu encore une fois; sa fonctionne tres bien la variable " n " . Svp, trouverais-je une piste de solution pour la quetion qui concerne le chemin generique ?? (question 1). Merci
Commenter la réponse de Gabrieljb

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.