cs_Cherifcom
Messages postés24Date d'inscriptionjeudi 4 novembre 2004StatutMembreDernière intervention 6 janvier 2005
-
14 déc. 2004 à 13:43
cs_Cherifcom
Messages postés24Date d'inscriptionjeudi 4 novembre 2004StatutMembreDernière intervention 6 janvier 2005
-
20 déc. 2004 à 13:41
Importation ecxell-access via fenêtre des fichiers
Bonjour, mon probléme c'est d'importer une feuille excell sur access en ouvrant une fenêtre des fichiers sur le poste(comme dans l'enregistrement) et me permettant de séléctionner le fichier précis.Tout cela se fait aprés avoir cliqué sur un boutton"IMPORTER" d'un formulaire (je travaille avec le VB d'access).
Merci d'avance pour toute aide.
Cramfr
Messages postés160Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention 8 juillet 2008 16 déc. 2004 à 17:51
A titre indicatif "A1:Z500" correspond
Sélection de la Colonne A ligne 1 à la colonne Z ligne 500
Si tu m'a compris c à dire que tu sélectionnes
de la première célulle à la célulle Z500 ce qui fait
26 colonnes et 500 lignes
A toi de l'adapter à ce que tu as
A+,
Cramsoturf le VBien en quête de nouveau programme :big)
cs_Cherifcom
Messages postés24Date d'inscriptionjeudi 4 novembre 2004StatutMembreDernière intervention 6 janvier 2005 14 déc. 2004 à 18:00
Merci pour votre réponse, mais si vous pouvez m'éclercir la méthode Api GetOpenFileName aprés que la commande docmd TransferSpreadsheet ne m'a pas donné de résultat attendu.
Merci :)
Cramfr
Messages postés160Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention 8 juillet 2008 14 déc. 2004 à 18:26
Bon alors j'ai rien compris :
Tu peux utilisé GetOpenFileName pour ouvrir une boite de dialogue comme dans excel pour ouvrir un fichier
Et une fois le fichier sélectionner tu as le chemin du fichier que tu as sélectionné en sortie de la boite de dialogue.
Par la suite donc tu pourras importer ton fichier excel comme table
dans la base access.
Me suis-je fourvoyé dans la compréhension de ce que tu veux
Sinon veux tu bien préciser ce que tu veux
Merci
Cramsoturf le VBien en quête de nouveau programme :big)
cs_Cherifcom
Messages postés24Date d'inscriptionjeudi 4 novembre 2004StatutMembreDernière intervention 6 janvier 2005 15 déc. 2004 à 14:51
T pas seulement simpa mais t génial :D
Mon premier probléme s'est résolu, il reste à importer le fichier séléctionné, vraiment je t beaucoup embété mais je crois qu'on arrive presque à la fin de mon probléme, et je v te faire un beau cadeau :)!!!
Cramfr
Messages postés160Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention 8 juillet 2008 16 déc. 2004 à 12:40
Ok bien bon maintenant plusieurs possibilité s'ouvre à toi :
- Soit tu importes ton fichier en le transformant en table
- Soit tu veux visualiser ton fichier excel sous access
- Soit tu veux utilisé pour importer des informations précises
Si je ne sais pas comment tu veux t'y prendre je ne peux pas te préciser comment tu peux faire...
Alors précise ce que tu veux faire... Et n'oublie pas de valider ma réponse si elle est exacte :D
Cramsoturf le VBien en quête de nouveau programme :big)
Cramfr
Messages postés160Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention 8 juillet 2008 16 déc. 2004 à 13:13
Ok as tu déjà essayé une importation manuelle dans access d'un fichier excel ?
Si tu ne l'a pas fait voici la procédure :
- Positionnement sur les objets tables
- Clicker sur bouton droit de la souris sans sélectionner de Table
- Clicker dans le menu contextuel sur Importer...
- Dans la boite de dialogue sélectionner les types de fichier: Microsoft Excel(*.xls)
- Un Assistant apparaitra
Celui-ci t'aidera à comprend comment fonctionne le TransferSpreadsheet en VBA
Si ses informations ne sont pas suffisante précise ton problème
Et nous verons ce que nous pouvons faire.
Cramsoturf le VBien en quête de nouveau programme :big)
cs_Cherifcom
Messages postés24Date d'inscriptionjeudi 4 novembre 2004StatutMembreDernière intervention 6 janvier 2005 16 déc. 2004 à 13:55
Merci pour votre réponse,
j'ai déja éffectué l'importation manuelle.
Mon probleme en fait c'est quand j'execute le botton, la fénetre des fichiers s'ouvre et je choisi une des feuilles, mais ça reste laba et l'importation ne se fait pas, or moi je veux que le cilc sur le botton "IMPORTER" m'ouvre la fenetre et importe mon choix sur acces comme une table.
J'espere que vous m'avez bien compris.
Cordiallement,
***Live without Love OR Love without Life***
cs_Cherifcom
Messages postés24Date d'inscriptionjeudi 4 novembre 2004StatutMembreDernière intervention 6 janvier 2005 16 déc. 2004 à 16:58
Salut, ça marché...presque,
il ya deux chose:
1-Lors de l'execution de l'importation aprés avoir fait la séléction, un message d'erreur est survenu:"erreur d'execution:le champ"XXXXX" n'éxiste pas dans la table déstination "MaTable"" ,en fait il a fallu que la 1ere ligne de ma feuille ecxell soit le champ de "MaTable", donc je modifie ça à chaque fois et l'importation se fait,
2-Mais,aprés l'import, mes données importés de la table excell ne sont pas completes(dans la feuille excell il y avait 3000 lignes, il m'importe que 1000).
Pour le premier tiret je pense que c'est une question de configuration(comme dans l'importation manuelle où on peut modifier le champ), il faut que le champ d'excell"XXXXX" s'adapte avec le champ de "MaTable",mais comment???
Pour la 2iéme je n'ai aucune ideé!!
Vraiment, je sent que j'arrive à la fin de ce probléme et ça bien sûr grâce à vous, je sent aussi que je suis devenu pesant, mais je souhaite que vous continez çe petit bout de chemin avec moi.
Merrrrrccii :big)
cs_Cherifcom
Messages postés24Date d'inscriptionjeudi 4 novembre 2004StatutMembreDernière intervention 6 janvier 2005 16 déc. 2004 à 17:28
ReSalut,
En fait j'ai résolu le premier probléme en changeant False par True dans l'expression que vous m'avez donnez:
docmd.TransferSpreadsheet acImport,acSpreadsheetTypeExcel9,"MaTable",Filename,True,"A1:Z500"
Mais il reste le second problémes(perte de donneés) du message précedent, j'aimerai que vous m'aidiez car je n'ai aucune idée.
Merci
Cramfr
Messages postés160Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention 8 juillet 2008 16 déc. 2004 à 17:41
Pour le premier point:
le mieux est si c'est une mise à jour de créer une table à part et de faire des requête de mise à jour ou Ajout pour le placer dans la table access :
TableAccess1 (Importation excel)
TableAccess2 (Table utilisé dans access)
tableAccess2 mise à jour/Ajout par tableaccess1
Et le Champ XXXXX de la tableAccess1 correspond
au bon Champ de la tableAccess2
Pour le deuxième :
quel version d'Excel
eventuellement ne pas définir de "A1:Z500" et il prendra la feuille excel complète après il faudra trié dans ce cas il faut finir sur le paramètre 'true'
Essai çà :-)
Cramsoturf le VBien en quête de nouveau programme :big)
cs_Cherifcom
Messages postés24Date d'inscriptionjeudi 4 novembre 2004StatutMembreDernière intervention 6 janvier 2005 17 déc. 2004 à 08:54
C'est génial, j'ai réussi!! ah!! non!! vous avez réussi!!
Vraiment vous êtes trés trés simpa, et trés doué
Etes vous toujours sérviable comme ça??!! :)
Maintenant, j'ai une dête envers vous :) , vous pouvez me demandez ce que que vous voulez , bien sûr apart la programation :big)
cs_Cherifcom
Messages postés24Date d'inscriptionjeudi 4 novembre 2004StatutMembreDernière intervention 6 janvier 2005 17 déc. 2004 à 08:57
En fait, j'ai oublié de précisé la solution du 2iéme tiret:puisque j'ai beaucoup de ligne dans ma table, donc j'ai suprimé "A1=Z500" et ça marché.
Merci
***Live without Love OR Love without Life***