Nouveau défi aux experts macros

Grenouille14

XLDnaute Nouveau
Bonjour à la communauté !

la dernière fois, j'ai eu une solution en un temps record à ma première demande et j'en remercie vivement job75...;)

Aujourd'hui qqch de plus difficile donc autant dire que ce n'est pas la peine que j'essaie moi même d'y trouver une solution.

Je joins bien sûr un fichier excel, extrait succinct de mes tableaux et j'explicite mon objectif :

Alimenter la dernière colonne "emails" de l'onglet 1 avec les emails figurant dans les onglets 2 et 3 à partir de clefs communes qui est l'url pour l'onglet 2 et le numéro siren pour l'onglet 3.

Cela serait relativement simple si j'avais à chaque fois une seule adresse email par société ou un seul "dirigeant", mais vous constaterez que :
Dans l'onglet 1 : souvent plusieurs "dirigeants" pour une même société d'où plusieurs lignes dans la liste de référence.
Dans l'onglet 2, plusieurs emails pour un même url.

La difficulté réside donc dans l'alimentation de l'onglet 1 en emails à partir de l'url (onglet2) et du numéro siren (onglet3) en tenant compte du fait de savoir si chacune des sociétés aura un nombre de lignes suffisant pour les accueillir ou dans quels cas, il faut rajouter des lignes...
Ce qui implique également au moment d'alimenter avec les emails de l'onglet3 de vérifier que la cellule réservée à l'email est vide et qu'on écrasera pas les emails déjà ajouté dans la première étape...

Voilà, je suis désolé de toutes ces précisions si vous aviez compris dès le départ ce que je voulais faire... Je me sens un peu comme Guy LUX en train d'expliquer un jeu d'Interville à la belle époque, auquel personne ne comprenait qqch... :)

Bon courage et merci d'avance

Christophe
 

Pièces jointes

  • Exemple2 pour forum.xls
    37.5 KB · Affichages: 296

job75

XLDnaute Barbatruc
Re : Nouveau défi aux experts macros

Bonjour Christophe, le forum,

En effet je suis en vacances en Normandie, et rarement devant un ordinateur (ça repose bien).

Voici le fichier modifié. Comme demandé, j'ai ajouté une colonne pour les Emails issus du n° siren, et créé dans la macro un tableau avec les titres des dirigeants par ordre des priorités.

A+
 

Pièces jointes

  • Christophe Emails(2).zip
    17.2 KB · Affichages: 30

Grenouille14

XLDnaute Nouveau
Re : Nouveau défi aux experts macros

Bonjour Job75, bjr les forumers !

Merci mille fois Job pour cette intervention pdt tes vacances en Normandie... ça a super bien marché et je continue maintenant de trier, compléter les résultats de ce tableau et de rajouter éventuellement des adresses mails manuellement.

Je ne sais comment te remercier, si ce n'est, puisque tu es en Normandie de t'inviter à boire un verre si tu passes dans le Calvados puisque je suis de ce département. ;-)

Comme tu peux t'en douter, une fois dans l'action, on arrête jamais, surtout qd c'est la première fois qu'on doit mettre ce genre tableau en place. Il y a des petits détails ou des questions qui se posent à nouveau... Maintenant que j'ai rentré un certain nombre d'adresses, souvent plusieurs par société, quel serait le moyen de faire ressortir rapidement au fur et à mesure celles (et leur url) pour lesquelles je n'ai encore aucune adresse email de disponible.

ça pourrait être une fonction qui fait disparaitre dans une colonne à droite, le nom et l'url des sociétés au fur et à mesure qu'elles ont une adresse email. Seuls resteraient donc les noms et les url de celles pour lesquelles je dois encore rechercher.

A bientôt... et bonne fin de vacances...
 

Pièces jointes

  • Exemple3 pour forum.xls
    30 KB · Affichages: 228
  • Exemple3 pour forum.xls
    30 KB · Affichages: 250
  • Exemple3 pour forum.xls
    30 KB · Affichages: 251
Dernière édition:

job75

XLDnaute Barbatruc
Re : Nouveau défi aux experts macros

Bonjour Christophe, le forum,

Avec les macros on peut tout faire, suffit de demander.

J'ai utilisé l'ancien fichier car le nouveau ne permet pas de travailler.

A+
 

Pièces jointes

  • Christophe Emails(3).zip
    17.2 KB · Affichages: 30

Grenouille14

XLDnaute Nouveau
Re : Nouveau défi aux experts macros

Merci Job75, bjr le forum,

j'ai essayé cette nouvelle macro qui fonctionne bien sûr comme à l'habitude.

Cependant j'ai un souci sur le fait qu'elle soit dans la même macro que le précédante.
J'aurais aimé qu'elle soit distincte pour une raison simple.

Lorsque j'ai fait tourner la première macro, j'ai ensuite quand même retravaillé manuellement les adresses, en en supprimant certaines, en en entrant de nouvelles manuellement car si les macros aident et accélèrent le travail, rien de remplacera le travail humain (heureusement).
Ainsi si j'applique ta dernière macro, cela veut dire que je doive reprendre mon fichier initial et donc que je perds mon travail d'analyse et de complément de vendredi.
D'où la question de savoir si tu peux juste fournir une macro ou simplement une formule qui résoudrait ma question de vendredi soir.

C'est aussi certainement la raison pour laquelle le fichier que je t'avais joins ne fonctionne pas avec la macro initiale... J'ai repris une extrait de mon tableau de vendredi soir auquel j'ai supprimé qques colonnes par soucis de clarté... Je me disais que je pourrai éventuellement adapter ensuite ta macro en remettant les bonnes références de colonnes. Cependant si tu préfères avoir un extrait exhaustif du vrai tableau, je peux te le joindre...

Merci d'avance

Cdlt

Christophe
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Nouveau défi aux experts macros

Bonjour Christophe, le forum,

Voici le fichier avec la macro adaptée.

Edition : rajouté LookIn...

A+
 

Pièces jointes

  • Exemple3 pour forum.xls
    36.5 KB · Affichages: 132
  • Exemple3 pour forum.xls
    36.5 KB · Affichages: 149
  • Exemple3 pour forum.xls
    36.5 KB · Affichages: 145
Dernière édition:

job75

XLDnaute Barbatruc
Re : Nouveau défi aux experts macros

Re,

Une solution par formules au problème précédent (fichier ci-joint) :

1) La cellule Q2 étant sélectionnée, définir le nom plage avec la formule :

Code:
=INDEX(Feuil1!$L:$L;EQUIV(Feuil1!$P2;Feuil1!$P:$P;0)):INDEX(Feuil1!$M:$M;EQUIV(Feuil1!$P2;Feuil1!$P:$P))

2) Entrer en Q2 et R2 les formules :

Code:
=REPT(C2;NBVAL(plage)=0)
=REPT(G2;NBVAL(plage)=0)

et les tirer vers le bas.

Bonne fin de soirée.
 

Pièces jointes

  • Exemple3 pour forum (1).xls
    35.5 KB · Affichages: 1 647

Grenouille14

XLDnaute Nouveau
Re : Nouveau défi aux experts macros

Bjr Job75, et le forum...

Décidemment je vais devoir certainement un jour programmer une vraie formation au sujet d'excel mm si cela n'est pas directement mon métier.
Job, j'ai bien compris le fonctionnement de ta solution par formule mais il m'est impossible d'arriver à la transcrire dans mon tableau original... Je n'arrive pas à définir la plage donnée qui est refusée à chaque fois.
Je te joins donc un extrait (colonnes exhaustives) de ce tableau retravaillé.
Merci d'avance.
Christophe
 

Pièces jointes

  • Exemple4 pour forum.xls
    37.5 KB · Affichages: 115

Discussions similaires

Réponses
5
Affichages
371
M
Réponses
9
Affichages
478
Maikales
M
Réponses
12
Affichages
332

Statistiques des forums

Discussions
312 332
Messages
2 087 361
Membres
103 530
dernier inscrit
Chess01