Il faut rajouter en ligne 5 ceci Dim Fic as String.
Et normalement le code que je t'ai fourni permet de balayer tout le fichier texte.
Il faut rajouter en ligne 5 ceci Dim Fic as String.
Et normalement le code que je t'ai fourni permet de balayer tout le fichier texte.
N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.
Je ne réponds pas aux messages privés s'ils sont liés à une question technique
Bonjour,
Est ce que je pourrais avoir des indications concernant la création de la base ? Car en effet, ton code traite bien tout mes fichiers texte, mais il n'entre pas toutes les valeurs dans la base..
Sur cette capture on peut voir un fichier texte avec toutes ses références annexes:
Pièce jointe 179571
Or dans ma BDD pour la meme référence produit, je n'ai que ça:
Pièce jointe 179572
Tu constates bien que les données que le code entre dans la base ne concerne que la première ref_annexe.
Bonjour,
Une question vous n'avez pas mis d'index sur "Ref_Produit" et "Ref_Compo" !
N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.
Je ne réponds pas aux messages privés s'ils sont liés à une question technique
Mes deux champs son indexés et obligatoire, de plus, le champ "ref_produit" est unique.
Mais pour une ref_produit je n'ai qu'une ref_compo, alors que je devrait en avoir plusieurs.. (un casse tête)
Les champs "ref_produit" et "ref_compo" ne doivent pas être unique.
N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.
Je ne réponds pas aux messages privés s'ils sont liés à une question technique
Parfait ! Il ne me reste plus qu'a traiter ces données!
Je vais comparer Ref_Produit à Ref_produit.. Et regarder quelles sont les Ref_produits qui ont des Ref_Compos en communs
Merci de ton aide précieuse que tu m'as apporté jusque là !! Je reviendrais surement vers toi, c'est une bonne chose que tu partage tes connaissances !
Je viens de créer un TCD et je m'en demandais si il était possible de manière automatique de le remplir avec des 1 ? Je m'explique:
Chaque étiquettes de ligne correspond à une Ref_Produit
Chaque étiquettes de colonne correspond à une Ref_Compo (composant)
Je vais chercher automatiquement mes données depuis mon fichier Access dans lequel il y a ma BDD..
Ce que je voudrais faire c'est, pour toutes mes Ref_Produit si une des Ref_Compo est présente dans sa nomenclature, alors mettre un "1" à l'intersection de ma Ref_Produit et de ma Ref_Compo correspondante.
Fichier:
Pièce jointe 179588
Par exemple, ma Ref_Produit 400461F1 a dans sa nomenclature la Ref_Compo 3SCAF0333A. Alors je mets un "1" ...
Pièce jointe 179589
Tu peux le faire avec une requête analyse croisée dans Access...
N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.
Je ne réponds pas aux messages privés s'ils sont liés à une question technique
Oui effectivement, j'ai éssayé..
Mais malheureusement cela ne fonctionne pas :
Pièce jointe 179592
Mon nombre de Ref_Compo étant très grand, Access a du mal ...
Je me suis rabattu sur Excel en pensant que ça serait possible
Tu auras le même problème, et en faisant l'inverse : ref_prod en colonne et ref_compo en ligne.
N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.
Je ne réponds pas aux messages privés s'ils sont liés à une question technique
En faisant l'inverse même problème...
J'ai créer un TCD avec comme sources de données externes ma BDD... Peut être qu'une macro permettrai de faire ce que je veux..(mettre des "1")..
Je suis dans une impasse ! :/
N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.
Je ne réponds pas aux messages privés s'ils sont liés à une question technique
J'ai trouvé une solution, dis moi si tu pense que ça peut marcher.
J'ai ajouté un champ dans ma BDD, j'en ai 4 (N° d'enregistrement, Ref_produit, Ref_compo, Valeur)
Je mets le doit sur "Valeur":
C'est un champ que j'ai défini comme "numérique", je lui est attribué une valeur par défaut à "1".
Ensuite depuis excel je créé un TCD avec comme données d'entrées celles de ma BDD via l'outil "changer la source de données". Du coup en étiquettes de lignes et de colonnes, je mets mes Refs..Et en valeur, "Valeur" sachant que j'ai modifié le paramètre des champs de valeurs à MAX.
Du coup j'obtient mon tableau croisé et j'ai un "1" lorsque ma Ref_compo est présente dans la composition de mon produit (de me Ref_produit).
Je sais pas si c'est du bidouillage ou si c'est correct ...
AperçuPièce jointe 179622
Le petit problème que je rencontre, c'est lorsque que je clique sur un "1" j'obtient ça :
Pièce jointe 179624
Or pour cette référence produit, ce composant est censé apparaître qu'une seule fois... Il est présent qu'une fois dans la nomenclature du produits correspondant :
Pièce jointe 179625
Il n'était pas nécessaire de mettre une nouvelle valeur, il suffisait de mettre Ref_compo en valeur et en mettant compter comme fonction de regroupement.
N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.
Je ne réponds pas aux messages privés s'ils sont liés à une question technique
Salut,
J'ai modifié un peu ton code mais j'ai une erreur et je ne comprend pas pourquoi:
Voila le code
Au niveau du "Next" sous Line1, VBA me retourne une erreur "Next sans For".
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 If oFSO.FolderExists(Rep2) Then For Each oFl In oFSO.GetFolder(Rep2).Files Fic = Mid(oFl, 18) intFic = FreeFile Open Rep2 & "\" & Fic For Input As intFic ValRefProd = Replace(Fic, ".txt", "") If BoucleSurTabl(ValRefProd, Tb) = True Then GoTo Line1 Else While Not EOF(intFic) Line Input #intFic, strLigne If Mid(strLigne, 190, 3) = "Yes" Then ValRefAnn = Mid(strLigne, 28, 10) DoCmd.RunSQL "INSERT INTO COMMUNS (Ref_Produit, Ref_Compo) VALUES ('" & ValRefProd & "', '" & ValRefAnn & "')" Debug.Print ValRefAnn End If Wend Close intFic Line1: Next End If DoCmd.SetWarnings True
Alors qu'en réalité ce "Next" correspond au "For Each" juste au dessus.
Je pense que cest du au fait que j'ai ajouté certaines conditions... Du genre "If..."
Merci d'avance.
Bonjour,
Oui, mais tu as oublié semble-t-il un End If quelque part.
A mon avis, cela devrait être à la ligne 20 et correspondrait au IF de la ligne 8.
Cordialement,
Mandresy
"Je ne sais qu'une chose, c'est que je ne sais rien" Socrate
N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.
Merci, c'est toujours sympa de recevoir des de votre part
Merci pour ta disponibilité et pour ta réponse!
J'ai d'autres questions, j'essaye d'y répondre par moi même et si je n'y arrive pas je reviendrais te demander un peu de ton temps.
Encore merci!
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