La fonction CHAMPS ?

Postez ici si vous avez des difficultés a comprendre une commande, ou a créer une macro.
lenautile16
Messages : 34
Enregistré le : 10 mars 2017, 22:00

La fonction CHAMPS ?

Message par lenautile16 » 27 mars 2017, 12:06

Bonjour,

Environnement : windows 7 sur virtualbox

Problème : j'ai un fichier de type csv, avec sur la première colonne des références et la deuxième, la désignation du produit.
Je pensais que la fonction CHAMPS aurait pu m'aider....mais je me demande vraiment à quoi elle sert ?
J'ai créé trois variables [reference et designation] pour la détermination des blocs et une autre variable pour la recherche.

Je me suis dis chouette, c'est un peu une table à deux dimensions....sauf que le fichier source, il faut l'ouvrir à chaque fois et rien ne semble se passer.

Si quelqu'un à des infos ou des exemples d'utilisation, je suis preneur.

merci pour votre aide

Avatar du membre
Onissius
Messages : 744
Enregistré le : 11 avr. 2014, 22:47
Localisation : Lyon (France)
Contact :

Re: La fonction CHAMPS ?

Message par Onissius » 27 mars 2017, 19:11

Ton séparateur est le bon ?
J'ai découvert SM en 99, rapidement Adam m'a promu admin.
Posez vos questions aussi clairement que possible, sans fautes qui piquent les yeux et relisez vous.
Vérifiez sur mon DISCORD si je suis en ligne.

lenautile16
Messages : 34
Enregistré le : 10 mars 2017, 22:00

Re: La fonction CHAMPS ?

Message par lenautile16 » 27 mars 2017, 20:25

J'ai sélectionné le ; et donc délimité

Mon but serait de mettre une référence et que là SM me ressorte en sortie de variable la désignation, c'est à dire le contenu du bloc2 adjacent.

un peu comme sur le principe d'une base de données.

merci pour ton aide.

fraisemania
Messages : 20
Enregistré le : 11 juin 2016, 22:47

Re: La fonction CHAMPS ?

Message par fraisemania » 04 avr. 2017, 22:54

Bonsoir,

Si tu bloque sur les champs, peut être essayer une autre méthode. Je pense tu créer deux fichiers textes. Tu ouvre ton csv avec excel ou un logiciel qui prends déjà en charge le marquage. Ensuite tu créer une macro pour stocker et séparer proprement tes champs dans chaque fichier texte et ton contenu séparer avec un retour chariot (par ligne tant cas faire). Et enfin tu reprends ton programme qui cette fois va lire les deux fichiers en même temps et afficher se que tu souhaites.

Pour info, je suis également tombé sur ça :
https://fr.wikibooks.org/wiki/Programme ... ichier_CSV

A toi de voir si ça peut-être utile.

Bonne soirée

lenautile16
Messages : 34
Enregistré le : 10 mars 2017, 22:00

Re: La fonction CHAMPS ?

Message par lenautile16 » 05 avr. 2017, 22:35

Bonjour,

Merci fraisemania pour ta réponse. C'est vrai qu'avec la fonction excel, ça fonctionne, mais il faut parcourir le fichier.....et c'est plus long. Je ne comprends toujours pas l'utilité de la fonction Champs.

fraisemania
Messages : 20
Enregistré le : 11 juin 2016, 22:47

Re: La fonction CHAMPS ?

Message par fraisemania » 05 avr. 2017, 22:56

Je rajoute quelques infos que je viens de découvrir sur cette fonction.

Je pense qu'il n'est pas possible d'ouvrir un fichier avec les champs d'où ton problème pour ranger tes valeurs et l'exécuter ensuite. L'affichage fonctionne mais peut être pas le reste. Car quand on met la ligne du champs en commentaire, il n'y a aucune information sur le chemin du fichier. Si tu tiens toutefois a utiliser cette fonction essais de stocker le contenu de ton fichier dans une variable et ensuite utiliser le fonction champs pour la traiter. Mais a mon sens il y a un truc qui cloche dans les champs. Quand je te parlai de ma méthode, je le fais a fichier ouvert + copier coller + ctrl/tab + quelques flèches. Ça va assez vite a réaliser et c'est relativement efficace. Genre pour construire une requête de 500 lignes avec des données brutes tu ne mets qu'une 20 de minutes a l’exécuter. Tu fais sa sur un temps de pause et c'est nickel.

lenautile16
Messages : 34
Enregistré le : 10 mars 2017, 22:00

Re: La fonction CHAMPS ?

Message par lenautile16 » 09 avr. 2017, 17:59

Bonjour,
Merci pour ton aide, j'ai fini par trouver une solution qui me convient. Autant de fichier que d'immatriculation, à l'intérieur du fichier les infos qui t'intéresse....et pour faire un recherche, la fonction "si le fichier existe"....c'est très rapide. Ce qui manque à Super Macro, c'est un connecteur de base de données, mais ce qu'il fait est déjà très bien. Dommage que l'auteur ne poursuive pas ?

fraisemania
Messages : 20
Enregistré le : 11 juin 2016, 22:47

Re: La fonction CHAMPS ?

Message par fraisemania » 11 avr. 2017, 21:18

Salut,

D'après se que j'ai pu lire sur ce forum, non l'auteur initiale du projet a arrêté. Il y a quelques personnes par contre qui le connaisse (tu clic sur administrateurs). A un moment, il voulait réadapter le concept dans un autre langage. Je ne sais pas trop si il y a eu des retours. Perso, je pense que l'essentiel est là.

Je me demandais s'il te serait possible d'expliquer un peu plus ton projet sur lequel tu travail. Travaillant entre autres dans le domaine des BDD, je me suis posé quelques questions : Es ce que tu souhaites faire un insert, un select ou un update ? Mais je pense que c'est plus compliqué que sa car tu aurais sans doute transformé tes données brutes en une requête. Donc je suppose que tu a réaliser un module pour renseigner l’état de tes véhicules qui te fournisse tes infos sous formes de fichier avec l'immat. du véhicule comme nom de fichier. Si tu cherche a mettre a jours ces infos dans une bdd, Déjà si ta un serveur une tache cron peut t'être utilise. Tu fais un script PHP qui va lire tes fichiers et update tes tables/champs. Apres tu programmes l'exécution de ton script. Quand pense tu ?

a+

bighands
Messages : 2
Enregistré le : 25 sept. 2018, 10:18

Re: La fonction CHAMPS ?

Message par bighands » 25 sept. 2018, 10:57

Bonjour,

J'ai trouvé comment utiliser cette fonction :D .

1. Utiliser la fonction Lire pour lire la première ligne du fichier en mode Lire. Cette fonction stocke la ligne lue dans la Variable Lire - Ecrire. Saisir Position enregistrement = 0 pour lire une ligne tout en laissant le fichier ouvert et mémorisant la position de la prochaine ligne à lire.

2. Utiliser la fonction Champs pour extraire les données de la Variable Lire - Ecrire préalablement saisie et nommée Variable à traiter dans la fonction Champs.
La fonction Champs est paramétrée en utilisant un fichier test qui permet de récupérer des valeurs de colonne en les stockant dans des variables.


3. Pour passer à la ligne suivante du fichier, il suffit de relancer la fonction Lire une nouvelle fois. Cette fonction étant toujours paramétrée Position enregistrement = 0 , la ligne suivante sera lue puis stockée dans la variable Variable Lire - Ecrire.

4. Répéter les mêmes opérations jusqu'à la fin du fichier...

J'ai eu du mal à comprendre le fonctionnement mais cette fonction est opérationnelle ! :D

A+
Macro_Supercopier_Lire_Champs.png

lenautile16
Messages : 34
Enregistré le : 10 mars 2017, 22:00

Re: La fonction CHAMPS ?

Message par lenautile16 » 27 sept. 2018, 16:59

Bonjour,
Ok merci bighands. Je vais faire un essai avec un fichier csv. C'est tout l'intérêt d'ailleurs.
Sinon, je m'en suis sorti avec le plugin excel.

Répondre