|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||
|
Membre confirmé
![]() |
Bonjour, je souhaiterais pouvoir remplir plusieurs lignes dans Word selon une listebox qui elle prend sa source dans un fichier Excel.
Voici mon code : Code :
Societe Adresse CP Ville ensuite j'essais de remplir les lignes suivantes en me basant sur l'indice (le numéro du recordset) du premier recordset tout en modifiant la source (c'est à dire en prenant la colonne suivante de la feuille Excel ! C'est pas facile à expliquer j'espère que c'est à peu près clair... Mon probleme actuel est que je n'arrive pas à trouver l'indice du recordset en cours, donc je suis passé par un indice "manuel", mais maintenant c'est la valeur du recordset qui fonctionne pas ! msgbox rst(0).value me renvoit une erreur ! Si quelqu'un peut m'aider.... Merci ! |
||
|
|
00
|
|
|
#2 |
![]() ![]() michel TanguyInscription : août 2005 Messages : 3 317 ![]() |
bonjour
je te conseillerais plutot de restructurer correctement ton classeur Excel, sinon tu es parti pour créer une usine à gaz qui ne fonctionnera difficilement ... michel |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() |
|
|
|
00
|
|
|
#4 | ||||
![]() ![]() michel TanguyInscription : août 2005 Messages : 3 317 ![]() |
rebonjour
pour ma part je ferais une seule requête et je chargerais toutes les données dans des colonnes cachées de la ListBox, lors de la récupération des noms de société. (Exemple dans la feuille "A1CLIENT" du classeur fermé: colonne A: NomSociete, colonne B: CodePostal, Colonne C: Ville) Code :
il suffit ensuite de cliquer sur un élément de la ListBox pour afficher les informations correspondantes Code :
bon apres midi michel |
||||
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() |
Merci ça à l'air parfait ! mais j'ai un probleme de "pilote ISAM introuvable"
J'ai fait des recherches sur le net et j'ai enregistré les dlls Msexcl40.dll et Msrd2x40.dll mais ça n'a rien donné...les autres solutions sont pour Access ou VB L'erreur survient sur le code de la connexion... |
|
|
00
|
|
|
#6 | ||
|
Membre confirmé
![]() |
Après avoir eu le probleme de "Pilote ISAM introuvable" et n'ayant pas pu le résoudre je suis revenu à la méthode de connexion du début. Mais une erreur persiste sur le recordset :
Code :
|
||
|
|
00
|
|
|
#7 |
|
Membre émérite
![]() Assistant de Gestion - Responsable Informatique Inscription : juillet 2003 Messages : 646 ![]() |
![]() Je ne comprends pas d'ou vient ton erreur, à part un problème dans les propriétés de ta ListeBox ! Chez moi ça fonctionne parfaitement, ci-joint les fichiers que j'ai utilisés Cordialement.
__________________
Vous avez la solution à votre problème, pensez au tag : est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses.La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses. |
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() |
Effectivement...apparemment cela vient de mon fichier Excel vu que les données commencent à la ligne 4...
|
|
|
00
|
|
|
#9 | ||
|
Membre émérite
![]() Assistant de Gestion - Responsable Informatique Inscription : juillet 2003 Messages : 646 ![]() |
Dans ce cas tu peux éventuellement tester tes enregistrements
Code :
Un truc du style : Code :
Set Rst = Source.Execute("SELECT * FROM [" & Feuille & "$] WHERE [ChampClient] Is Not Null")
__________________
Vous avez la solution à votre problème, pensez au tag : est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses.La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses. |
||
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() |
Merci beaucoup ! ça à l'air de mieux fonctionner déjà... par contre quand tu mets "[champsClient]", tu parles de l'entete sur la feuille Excel ?
|
|
|
00
|
|
|
#11 | |
|
Membre émérite
![]() Assistant de Gestion - Responsable Informatique Inscription : juillet 2003 Messages : 646 ![]() |
Citation:
L'entête de la colonne qui devient le nom du champ dans la requête. Cordialement.
__________________
Vous avez la solution à votre problème, pensez au tag : est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses.La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses. |
|
|
|
00
|
|
|
#12 |
|
Membre confirmé
![]() |
Ok parfait et une dernière chose...si mon entete est à x lignes ?Ou je peux le spécifier ?
|
|
|
00
|
|
|
#13 |
|
Membre émérite
![]() Assistant de Gestion - Responsable Informatique Inscription : juillet 2003 Messages : 646 ![]() |
No soucy
Car la commande : Code :
Set Rst = Source.Execute("SELECT * FROM [" & Feuille & "$]") Si en revanche au dessus de l'entête tu as des lignes qui contiennent du texte, qui n'a rien à voir avec le reste. Là, il faut spécifier la plage !
__________________
Vous avez la solution à votre problème, pensez au tag : est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses.La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses. |
|
|
00
|
|
|
#14 |
|
Membre confirmé
![]() |
Ok je me suis arrangé pour que ça tombe bien ! il me reste un dernier soucis auquel j'arrive pas à trouver de solution... voici un exemple :
Societe1 adresse1 Societe2 Societe3 adresse3 Societe4 adresse4 Si je suis dans ce cas de figure, la société 2 n'est pas dans la liste alors que je souhaiterais quand meme qu'elle apparaisse meme si certains champs sont incomplets... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com