Association recherche aide pour macro Excel
Résolu
Josiel
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
En carge d'une partie de la gestion d'une association, je suis confronté à un problème que je ne saurais résoudre sans une aide...
Nous avons deux fichier Excel distincts
FichierA: qui contient les fiches adhérants
FichierB: qui contient le suivi mensuel des abonnements payés
FichierA contient les données suivantes:
N°Adhérent - Nom - Prénom - Adresse - CP - Ville - Tel - eMail- Pseudo - Abonné - MembreActif/Passif - etc...
FichierB contient les données suivantes:
Pseudo - eMail- AbMoisPayé-
Le FichierA contient tous les adhérents, même ceux qui n'ont pas d'abonnement
Le FichierB contient que les Abonnés et les paiements honorés du mois en cours.
Le lien entre les deux fichier et le pseudo
Tous les pseudo existants dans FichierB existent dans le FichierA
OBJECTIF...
Je dois transmettre à notre webmaster pour une mise en ligne un FichierC en CSV.
Le FichierC doit être le contenu complet du FichierA auquel un colonne supplémentaire est ajoutée et qui contient "Payé" pour tous adhérents à jour de l'abonnenet.
Cette information est prise dans le FichierB en utilisant les pseudo comme référence
Cette action doit être faite par une macro.
Voici un exemple
FichierA
1 - DUPONT - Pierre - 11 rue Foch - 75000 - Paris - 0112548765 - dupont@pierre.fr - Dupontpierre - Yes - Actif -
2 - MARTIN - Justin - 13 rue Verte - 75000 - Paris - 0122884577 - martin@justin.fr - MartinJus - yes - Passif -
FichierB
Dupontpierre -dupont@pierre.fr - Yes -
MartinJus - martin@justin.fr -
FichierC (pour exportation CSV)
1 - DUPONT - Pierre - 11 rue Foch - 75000 - Paris - 0112548765 - dupont@pierre.fr - Dupontpierre - Yes - Actif - Payé -
2 - MARTIN - Justin - 13 rue Verte - 75000 - Paris - 0122884577 - martin@justin.fr - MartinJus - yes - Passif - Non -
Il y a URGENCE pour nous...
Soyez remercié pour votre aimable assistance.
En carge d'une partie de la gestion d'une association, je suis confronté à un problème que je ne saurais résoudre sans une aide...
Nous avons deux fichier Excel distincts
FichierA: qui contient les fiches adhérants
FichierB: qui contient le suivi mensuel des abonnements payés
FichierA contient les données suivantes:
N°Adhérent - Nom - Prénom - Adresse - CP - Ville - Tel - eMail- Pseudo - Abonné - MembreActif/Passif - etc...
FichierB contient les données suivantes:
Pseudo - eMail- AbMoisPayé-
Le FichierA contient tous les adhérents, même ceux qui n'ont pas d'abonnement
Le FichierB contient que les Abonnés et les paiements honorés du mois en cours.
Le lien entre les deux fichier et le pseudo
Tous les pseudo existants dans FichierB existent dans le FichierA
OBJECTIF...
Je dois transmettre à notre webmaster pour une mise en ligne un FichierC en CSV.
Le FichierC doit être le contenu complet du FichierA auquel un colonne supplémentaire est ajoutée et qui contient "Payé" pour tous adhérents à jour de l'abonnenet.
Cette information est prise dans le FichierB en utilisant les pseudo comme référence
Cette action doit être faite par une macro.
Voici un exemple
FichierA
1 - DUPONT - Pierre - 11 rue Foch - 75000 - Paris - 0112548765 - dupont@pierre.fr - Dupontpierre - Yes - Actif -
2 - MARTIN - Justin - 13 rue Verte - 75000 - Paris - 0122884577 - martin@justin.fr - MartinJus - yes - Passif -
FichierB
Dupontpierre -dupont@pierre.fr - Yes -
MartinJus - martin@justin.fr -
FichierC (pour exportation CSV)
1 - DUPONT - Pierre - 11 rue Foch - 75000 - Paris - 0112548765 - dupont@pierre.fr - Dupontpierre - Yes - Actif - Payé -
2 - MARTIN - Justin - 13 rue Verte - 75000 - Paris - 0122884577 - martin@justin.fr - MartinJus - yes - Passif - Non -
Il y a URGENCE pour nous...
Soyez remercié pour votre aimable assistance.
A voir également:
- Association recherche aide pour macro Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Déplacer colonne excel - Guide
12 réponses
Dis donc, où as-tu vu que les bénévoles qui répondent sur ce site avaient une quelconque obligation de réponse ???
Je te rappelle que tu es en état de demande et en aucun cas en position d'exiger quoi que ce soit.
Figure toi que chacun a une vie personnelle et que l'on prend (par plaisir mais parfois il est absent) sur notre temps de loisir pour chercher et répondre si l'on peut.
Je m'interroge sur la pertinence de tes propos sur la loi du plus fort et du baton...
Malgré tout une solution à ton pb:
http://www.cijoint.fr/cij83539056430639.zip
eric
Je te rappelle que tu es en état de demande et en aucun cas en position d'exiger quoi que ce soit.
Figure toi que chacun a une vie personnelle et que l'on prend (par plaisir mais parfois il est absent) sur notre temps de loisir pour chercher et répondre si l'on peut.
Je m'interroge sur la pertinence de tes propos sur la loi du plus fort et du baton...
Malgré tout une solution à ton pb:
http://www.cijoint.fr/cij83539056430639.zip
eric
Bonsoir,
Ben ça aurait été dommage, pour une fois que les besoins ont été clairement définis dès le départ...
Bonne soirée
eric
Ben ça aurait été dommage, pour une fois que les besoins ont été clairement définis dès le départ...
Bonne soirée
eric
Bonjour,
Il faut arreter de créer un nouveau fil de discussion pour la même question. Ca doit faire au moins le 3 ème et je t'avoue, même si je comprend ton urgence, ça ne donne pas envie d'y répondre .
Choisi donc une des discussion et met les autres en résolu, .
Et si tu veux la faire ré-apparaitre en tête, ajoute juste un message up, tout le monde comprendra
Merci
eric
Il faut arreter de créer un nouveau fil de discussion pour la même question. Ca doit faire au moins le 3 ème et je t'avoue, même si je comprend ton urgence, ça ne donne pas envie d'y répondre .
Choisi donc une des discussion et met les autres en résolu, .
Et si tu veux la faire ré-apparaitre en tête, ajoute juste un message up, tout le monde comprendra
Merci
eric
Si l'esprit d'entraide pronné sur ce forum fonctionne... Nous ne serions pas obligé de passer par des multiples demandes....
Mais il est plus facile semble t-il de réprimer que d'aider....
Soit c'est la loi du plus fort qui l'emporte...
Les autres demandes font être cochées résolues... Bien que ce ne soit pas le cas...
GROSSE DÉCEPTION ET DÉSILLUSION DE CE FORUM....
On recherche du soutien et l'on recois du baton...
Mais il est plus facile semble t-il de réprimer que d'aider....
Soit c'est la loi du plus fort qui l'emporte...
Les autres demandes font être cochées résolues... Bien que ce ne soit pas le cas...
GROSSE DÉCEPTION ET DÉSILLUSION DE CE FORUM....
On recherche du soutien et l'on recois du baton...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Je ne suis pas spécialiste en macro excel, mais pourquoi ne pas directement ajouter une colonne au fichier A avec la formule suivante pour chaque rangée:
Soit "n" le numéro de la rangée:
=SI(RECHERCHEV(In;[B.xls]Feuil1!$A$1:$C$3;3)="YES";"PAYE";"NON")
- example pour la rangée 2:
=SI(RECHERCHEV(I2;[B.xls]Feuil1!$A$1:$C$3;3)="YES";"PAYE";"NON")
Remplacer "Feuil1" par le nom donné à la feuille contenant les données du fichier "B"
- example, si le nom de la feuille est "Paiements", la formule deviendra:
=SI(RECHERCHEV(I2;[B.xls]Paiements!$A$1:$C$3;3)="YES";"PAYE";"NON")
La colonne I contenant les pseudos dans le fichier A, la formule va chercher dans la 3ème colonne "AbMoisPayé" de la table $A$1:$C$3 du fichier B si la valeur correspondant au pseudo est "Yes", auquel cas la cellule affichera: "Payé" et dans les cas contraire "Non".
Il suffit ensuite de sauvegarder le fichier "A" sous le nom "C" au format CSV.
En espérant que cela puisse vous aider.
François
Je ne suis pas spécialiste en macro excel, mais pourquoi ne pas directement ajouter une colonne au fichier A avec la formule suivante pour chaque rangée:
Soit "n" le numéro de la rangée:
=SI(RECHERCHEV(In;[B.xls]Feuil1!$A$1:$C$3;3)="YES";"PAYE";"NON")
- example pour la rangée 2:
=SI(RECHERCHEV(I2;[B.xls]Feuil1!$A$1:$C$3;3)="YES";"PAYE";"NON")
Remplacer "Feuil1" par le nom donné à la feuille contenant les données du fichier "B"
- example, si le nom de la feuille est "Paiements", la formule deviendra:
=SI(RECHERCHEV(I2;[B.xls]Paiements!$A$1:$C$3;3)="YES";"PAYE";"NON")
La colonne I contenant les pseudos dans le fichier A, la formule va chercher dans la 3ème colonne "AbMoisPayé" de la table $A$1:$C$3 du fichier B si la valeur correspondant au pseudo est "Yes", auquel cas la cellule affichera: "Payé" et dans les cas contraire "Non".
Il suffit ensuite de sauvegarder le fichier "A" sous le nom "C" au format CSV.
En espérant que cela puisse vous aider.
François
Merci Messieurs et particulièrement à eriic, qui se méprant sur mes réflexions, mais qui malgrè tout m'apporte son aide....
Merci aussi à François, qui effectivement a bien compris que nous aimerions une macro...
Dans l'attente nous allons utiliser vos indications et formules, jusqu'à ce que l'on nous propose une solution macro...
Amicalement,
Josiel
Merci aussi à François, qui effectivement a bien compris que nous aimerions une macro...
Dans l'attente nous allons utiliser vos indications et formules, jusqu'à ce que l'on nous propose une solution macro...
Amicalement,
Josiel
Pourquoi vouloir mettre une macro lorsque c'est faisable facilement par formule ?
Quel est l'impératif ?
eric
Quel est l'impératif ?
eric
Le fichier de nos adhérents représente plusieurs millier de personnes et subit plusieurs traitements par macro.
Au départ notre fichier est une exportation du site Internet, puis tous les traitements et interventions se font par macros
pour repartir sous forme de CSV vers un autre site Internet pour un autre affichage des résultats sur autre site.
Alors les formules obligent une intervention manuelle, puis son étirement pour toutes lignes concernées du fichier.
Nous partons du FichierA qui est l'exportation du site publique, puis le FichierB qui lui est résidant sur notre informatique pour le suivi des abonnements mensuels et le tout créé par macros le FichierC qui sera importé vers le site d'affichage des résutats....
L'association a pour activité le recencement, l'achat et la location de matériel médical à prix réduit voire très bas pour les familles aux moyens limités...
Si tout cela peut vous aider à mieux comprendre nos besoins et pourquoi nous tentons de nous appuyer sur l'aide bénévole.
Au départ notre fichier est une exportation du site Internet, puis tous les traitements et interventions se font par macros
pour repartir sous forme de CSV vers un autre site Internet pour un autre affichage des résultats sur autre site.
Alors les formules obligent une intervention manuelle, puis son étirement pour toutes lignes concernées du fichier.
Nous partons du FichierA qui est l'exportation du site publique, puis le FichierB qui lui est résidant sur notre informatique pour le suivi des abonnements mensuels et le tout créé par macros le FichierC qui sera importé vers le site d'affichage des résutats....
L'association a pour activité le recencement, l'achat et la location de matériel médical à prix réduit voire très bas pour les familles aux moyens limités...
Si tout cela peut vous aider à mieux comprendre nos besoins et pourquoi nous tentons de nous appuyer sur l'aide bénévole.
Bonsoir,
Voici un fichier qui peut repondre à ta demande : http://www.cijoint.fr/cij35303428930724.zip
la génération du .csv se fait avec le bouton situé sur le ficher TabA.xsl. Je suis aussi parti du principe que le fichier TabA.xls et TabB.xls sont situés dans le meme repertoire. Si cela n'etait pas le cas, il faudrait modifier le code en conséquence.
Dans ce zip je me suis servi de la structure de fichier défini pas Eric (que je remercie au passage).
Si tu as des questions n'hésites pas.
@+
Voici un fichier qui peut repondre à ta demande : http://www.cijoint.fr/cij35303428930724.zip
la génération du .csv se fait avec le bouton situé sur le ficher TabA.xsl. Je suis aussi parti du principe que le fichier TabA.xls et TabB.xls sont situés dans le meme repertoire. Si cela n'etait pas le cas, il faudrait modifier le code en conséquence.
Dans ce zip je me suis servi de la structure de fichier défini pas Eric (que je remercie au passage).
Si tu as des questions n'hésites pas.
@+
BonsoirJosiel,
Voilà une réponse, tu vois, fallait pas s'impatienter
http://www.cijoint.fr/cij32543837730755.zip
Sauvegarder les 3 fichiers dans un répertoire.
Le fichier à lancer (macro) est Asso_RecapitulatifCSV.xls (les 2 autres sont les fichiers de données exemple).
Une fois lancé, renseigner les répertoires, noms de fichiers, nom de la feuille ayant les données dans les cellules dédiées.
Si ces noms sont permanents sauvegarder le fichier.
Cliquer sur le bouton 'Générer le .csv'.
J'espère que les position des champs des fichiers de données sont corrects sinon tout sera décalé.
Teste avec les fichiers exemples puis les fichiers réels et dit moi si c'est ok
Bonne soirée
eric
Voilà une réponse, tu vois, fallait pas s'impatienter
http://www.cijoint.fr/cij32543837730755.zip
Sauvegarder les 3 fichiers dans un répertoire.
Le fichier à lancer (macro) est Asso_RecapitulatifCSV.xls (les 2 autres sont les fichiers de données exemple).
Une fois lancé, renseigner les répertoires, noms de fichiers, nom de la feuille ayant les données dans les cellules dédiées.
Si ces noms sont permanents sauvegarder le fichier.
Cliquer sur le bouton 'Générer le .csv'.
J'espère que les position des champs des fichiers de données sont corrects sinon tout sera décalé.
Teste avec les fichiers exemples puis les fichiers réels et dit moi si c'est ok
Bonne soirée
eric
Complément:
- Je retourne 3 valeurs: 'Payé', 'non' et j'ai ajouté 'inconnu' si non trouvé dans le 2nd fichier.
- J'ai pris comme clé l'email et je viens de voir qu'il fallait prendre le pseudo, je corrigerai plus tard, si tu peux commencer à tester comme ça car il y aura peut-être d'autres modifs à faire.
eric
- Je retourne 3 valeurs: 'Payé', 'non' et j'ai ajouté 'inconnu' si non trouvé dans le 2nd fichier.
- J'ai pris comme clé l'email et je viens de voir qu'il fallait prendre le pseudo, je corrigerai plus tard, si tu peux commencer à tester comme ça car il y aura peut-être d'autres modifs à faire.
eric
Pas grave, comme ça il aura le choix... :-)
Voici la version corrigée qui utilise le pseudo en clé.
http://www.cijoint.fr/cij36161862130825.zip
eric
Voici la version corrigée qui utilise le pseudo en clé.
http://www.cijoint.fr/cij36161862130825.zip
eric
Joli travail, bien rigoureux (plus que moi ;-) )
C'est une ancienne regle issu de VB. Un objet alloué par "set" doit etre desalloué par "nothing". C'est aussi un reste de "C", par les alloc, malloc, realloc ... ;)))
Sur que maintenant, avec un minimum de 1Go de ram sur les PC, cela ne sert peut etre plus à rien. Mais c'est plus propre ;p (pas d'effet de bord).
Sur que maintenant, avec un minimum de 1Go de ram sur les PC, cela ne sert peut etre plus à rien. Mais c'est plus propre ;p (pas d'effet de bord).
Bonjour,
A tous....
Encore un grand merci....
Absent pendant quelques jours pour affaires, je constate que les solutions sont arrivées à maturité
et que notre problème à trouvé sa solution....
Encore nos excuses pour l'urgence, mais mon déplacement m'imposait de terminer le CSV dans un délai cours.
J'apprécie de beaucoup l'esprit d'ériic et le félicite pour son travail, même si l'amateur que je suis
n'a pas assez de compétences pour l'évaluer, j'en reste pas moins émerveillé du résultat ....
Josiel
A tous....
Encore un grand merci....
Absent pendant quelques jours pour affaires, je constate que les solutions sont arrivées à maturité
et que notre problème à trouvé sa solution....
Encore nos excuses pour l'urgence, mais mon déplacement m'imposait de terminer le CSV dans un délai cours.
J'apprécie de beaucoup l'esprit d'ériic et le félicite pour son travail, même si l'amateur que je suis
n'a pas assez de compétences pour l'évaluer, j'en reste pas moins émerveillé du résultat ....
Josiel