Aie malheureusement ca ne marche pas
ca ne change rien
merci qd meme
Aie malheureusement ca ne marche pas
ca ne change rien
merci qd meme
En fait ca ne marche pas je pense car ca n'est pas adapté.
Il n'y a pas d'elements null mais seulement des éléments qu'il ne retrouve pas d'une table à l'autre et donc qd il croise les deux tables,
il met des "#Erreur" dans colB de table2 là ou il n'y a pas de donnée colB associé d'aprés la table1.
On peut facilement s'embrouiller en me lisant
lol
Bonjour JpCheck si tu passes par là ,
as tu d'autres idées pour mon petit soucis
Moi je continue de plancher dessus
sinon pour afficher une fenetre "parcourir" et pouvoir aller chercher le nom et l'emplacement de mon fichier Excel pour mon code vba j'ai vu qu'il fallait utiliser les Microsoft Comon Dialog
cependant je ne pense pas avoir ce "module" sur ma version d'Access ..
connais tu une autre solution ?
A plus tard et bonne journée
Pense à utiliser la
http://access.developpez.com/faq/?pa...#AffBoitDialog
si tu ne veux pas de valeur à #Erreur, penche toi sur l'article des jointures évoqué plus tôt dans cette discussion
Je suis sur mes deux trucs en parrallele.
pour le erreur je n'est pas encore trouvé mais je fais des petits tests...
sinon pour l'affichage de la fenetre parcourir pour récuperer l'adresse du fichier uj'ai bien copié le code dans un module sauver sous "OuvrirUnFichier" et copier le code
dans mon code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox OuvrirUnFichier(Me.Hwnd, "Parcourir", 1, "Fichier Excel", "xls")
cependant il m'affiche l'erreur:
"Variable ou procédure attendue, et non un module"
Je ne me suis pas encore attardé sur le code pour trouver l'erreur mais faut il ajouter des references particulieres a access pour pouvoir utiliser ce code ?
les premières lignes doivent être copiées dans ton code de formulaire (oui formulaire, acr on voit le Me. dans l'appel de fonction )
Re
merci pour ta réponse
qu'entend tu par "premières lignes" ?
tu parles de ca ?
pour l'instant il est placer dans un module du projet access
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 'Déclaration de l'API Private Declare Sub PathStripPath Lib "shlwapi.dll" Alias "PathStripPathA" (ByVal pszPath As String) Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _ "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long 'Structure du fichier Private Type OPENFILENAME lStructSize As Long hwndOwner As Long hInstance As Long lpstrFilter As String lpstrCustomFilter As String nMaxCustFilter As Long nFilterIndex As Long lpstrFile As String nMaxFile As Long lpstrFileTitle As String nMaxFileTitle As Long lpstrInitialDir As String lpstrTitle As String flags As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As String .............etc
dois je le placer directement a la suite de mon code d'importation de mes données excel vers access ?
merci pour ton aide, j'ai peur de m'embrouiller un peu avec mon code.
oui, dans la mesure où la portée actuelle est en Private.
Par défaut, chaque fonction issue d'une API doit être déclarée dans chaque module où elle est utilisée
je ne dois pas copier au bonne endroit ou ne pas faire les bonnes modifictations....je continue d'y travailler
Sinon j'ai résolu mon soucis de "#Erreur" en modifiant ma requete SQL precédente. j'ai insérer un WHERE ....IS NOT NULL à la fin.
Merci pour ton lien sur les jointures...
Bon ben j'ai suivi tes conseils et j'ai reussi a sortir un truc
la fenetre s'affiche bien et me laisse selectionner un fichier
ensuite il faut ke je comprenne ou il est stocké et que je lui dise de l'utiliser dans mon code.
pour l'instant j'ai :
Une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 MsgBox OuvrirUnFichier(Me.Hwnd, "Fichier Excel à Importer", 1, "Fichier Excel", "xls", "F:/") Set oApp = CreateObject("Excel.Application") Set oWkb = oApp.Workbooks.Open("F:/Fichier.xls") Set oWSht = oWkb.Worksheets("BILAN")
bon de te facon je continue qd meme de chercher
En tout cas ton aide
est super sympa
et je te remercie encore...
tu as trouvé le résultat, vu que tu l'affichage avec ton MsgBox, non ?
OUi ma fenetre s'affcihe bien et il me fais bien choisir un fichier avec la fonction "ouvrirunfichier" mais je ne sais pas où les informations de :
*nom du fichier
*chemin du fichier
sont stockés
en fait la je n'ai pas supprimé le reste de mon ancien code
ces lignes la:
et je veux qu'il remplace ds ce code le oWkb automatiquement par le fichier que je selectionne avec ma fenetre parcourir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Set oApp = CreateObject("Excel.Application") Set oWkb = oApp.Workbooks.Open("F:/fichierexcel.xls") Set oWSht = oWkb.Worksheets("BILAN")
ton msgbox affiche le résultat => la fonction renvoie donc une chaine de caractère (ou false si clic sur annuler)
donc tu peux utiliser une variable pour stocker tout ca.
(oui je te laisse chercher un peu, tu pêcheras encore mieux après )
salut Jpcheck
J'ai finalement reussi a faire ce que je voulais faire
j'étais effectivement fatigué vendredi soir
bon ben il me reste a faire que tte ces requete macro etc s'execute par un bouton unique sur un formulaire et alimente ce dernier
je me planche la dessus
je suis pas sur que sans ma table complete qq puisse le faire
en tt cas merci pour ton aide ton lien et ta dispo
bye
PS: bein sur je re p-e plus tard si j'ai une question précise
Bonjour jpcheck ,
Voilà je travaillé sur mon code qd j'ai découvert un petit soucis
j'ai bien créé ma fenetre "explorer" grace à ton code qui va me chercher l'adresse et le nom du fichier excel que je veux importer.
Cependant si qd la fenetre s'ouvre , je clique sur "x" (si je ferme cette fenetre) le code bug
COmment lui dire que si aucun fichier n'est selectionné et que si la fenetre est fermé , je souhaite qu'il abandonne tt le code et qu'il ne tente pas l'extraction
Je pensais a une boucle sur la variable contenant le chemin du fichier
Du genre si cette variable est Null alors il ne fait rien , sinon il effectue le code d'importation.
Qd penses tu ?
salut,
il me semble que la fonction renvoie une chaîne vide ou bien le booléen False lorsque l'utilisateur clique sur annuler ou la croix de fermeture du formulaire.
Adapte une série de tests en amont du code pour vérifier que la fonction renvoie bien une chaîne de caractères qui pointe sur un fichier (Dir())
re coucou
voila tu avez bien raison
J'ai inséré une boucle If sur tout mon code apres avoir testé la sortie
Si on click sur Annuler ou si on ferme la fenetre il renvoit ""
Thx
Salut jpcheck
Bon en fait je suis revenu sur mon code initial dans ma requete car ce que j'avais fait ne marchait pas
en fait mon probleme c'était dans mon equivalent rechercheV
qd il ne trouvai pas l'equivalent il renvoyait "#Erreur" et ma solution était d'eliminer ts ces cas
mais en fait on ma demander de les garder et de remplacer le "#Erreur" par un ""
si tu as une idée ?
je dois corriger ca pour demain matin
c'est la panique a bord
tu m'as deja pas mal aidé donc t'embete pas trop
la mon idée c'était de faire un IIf ([col]=" #Erreur";"";[col]) et d'afficher ce resultat au lieu du précedent ou ds une autre requete
bref ca ne marche pas
en excel c'était estna() mais je ne trouve pas sous access
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager