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,

Ci-joint le fichier.

Plusieurs emails ne peuvent pas être trouvés avec les données présentes.

A+
 

Pièces jointes

  • Christophe Emails.zip
    16.2 KB · Affichages: 36
  • Christophe Emails.zip
    16.2 KB · Affichages: 37
  • Christophe Emails.zip
    16.2 KB · Affichages: 44

Grenouille14

XLDnaute Nouveau
Re : Nouveau défi aux experts macros

Merci pour cette première approche intéressante...

C'est bien que tu aies réussi à réapproprier les bons emails au personnes quand c'est possible, cependant il y a une chose plus importante si je peux permettre, c'est que lorsqu'il y a plus d'adresses email de trouvées que de ligne disponibles pour la société, il y ait de nouvelles lignes de créer...
Je sais que ce n'est pas génial de faire cela, mais sinon, je ne sais pas comment gérer l'intégralité des emails trouvés...

En fait peu importe le nombre de contacts d'origine de l'onglet 1, l'important est de ranger l'intégralité des adresses trouvées par le biais des urls ou des siren. Le fait de faire correspondre l'adresse email au bon contact est un luxe, même si je ne m'en plains pas... L'essentiel est vraiment que j'ai dans cette liste l'intégralité des emails trouvés...

Voilà je ne sais pas ce qu'il est possible de faire...

Sinon, c'est normal que plusieurs emails ne puissent pas être trouvés car j'ai uniquement pris un échantillon de ma base qui est bien plus grande...
A ce sujet, sera-t-il facile d'adapter la macro à base entière, si je respecte les noms d'onglet et que je redéfinis à l'intérieur de la macro les champs à prendre en considération?

Merci d'avance
 

job75

XLDnaute Barbatruc
Re : Nouveau défi aux experts macros

Bonsoir Christophe,

J'ai revu la macro avec un autre état d'esprit.

Les emails, quand ils existent, ne sont entrés qu'une fois.

Les emails de la 3ème feuille ne sont entrés qu'après traitement de tous les noms de la société, dans la 1ère cellule vide disponible.

S'il n'y a alors pas la place (ce qui est peu probable), l'insertion d'une ligne est prévue.

Cette insertion possible m'oblige à faire le remplissage des emails de bas en haut, cela explique pourquoi l'adresse commercial@acmh.fr (donnée par la 3ème feuille) est tout en haut.

Les feuilles ne sont pas repérées par leur nom, mais par leur position (2 et 3) qu'il ne faut donc pas changer (en l'état).

Attention, en colonne D (noms des sociétés), il faut impérativement qu'il n'y ait pas de cellules vides.

A+

Edit : légère erreur corrigée sur l'insertion
 

Pièces jointes

  • Christophe Emails.zip
    17 KB · Affichages: 35
  • Christophe Emails.zip
    17 KB · Affichages: 38
  • Christophe Emails.zip
    17 KB · Affichages: 33
Dernière édition:

job75

XLDnaute Barbatruc
Re : Nouveau défi aux experts macros

Re,

Ici, une amélioration.

Sur la ligne insérée, je renseignais seulement le nom de la société.

Il vaut mieux copier/coller sur toute la ligne.

A+

Edition : j'ai mis les colonnes des n° siren au format Texte en feuille 1 et feuille 3, et supprimé aussi les apostrophes.
 

Pièces jointes

  • Christophe Emails.zip
    17 KB · Affichages: 29
  • Christophe Emails.zip
    17 KB · Affichages: 33
  • Christophe Emails.zip
    17 KB · Affichages: 31
Dernière édition:

job75

XLDnaute Barbatruc
Re : Nouveau défi aux experts macros

Bonjour Christophe, le forum,

Relisant mieux votre dernier post, je vois que ce qui importe pour vous c'est d'avoir, pour chaque société, tous les emails.

Or la version précédente prenait les emails de la 2ème feuille uniquement si l'on y trouvait les noms des dirigeants...

Avec la nouvelle version ci-jointe, vous aurez bien tous les emails, mais on ne tient plus compte des noms des dirigeants.

Utilisant maintenant une boucle While au lieu d'une boucle For, le remplissage se fait de haut en bas.

A+
 

Pièces jointes

  • Christophe Emails(1).zip
    18 KB · Affichages: 34
  • Christophe Emails(1).zip
    18 KB · Affichages: 34
  • Christophe Emails(1).zip
    18 KB · Affichages: 31
Dernière édition:

Grenouille14

XLDnaute Nouveau
Re : Nouveau défi aux experts macros

Bonjour et merci pour ces améliorations...

Je m'aperçois combien l'exercice de l'explication n'est pas aisé.

En fait si c'est un énorme progrès que l'email n'apparaissent qu'une fois pour éviter les doublons, j'ai besoin que l'intégralité de emails des onglets 2 et 3 apparaissent d'une manière ou d'une autre dans l'onglet 1 qui est et sera ma base en évolution au fur et à mesure que je découvrirai de nouvelles adresses emails.
Peu m'importe en fait si le nom de la personne à qui appartient l'adresse email figure ou pas dans l'onglet1... C'est forcément un avantage si ça correspond au moins une fois...

Je ne sais pas ou ne peux pas dire si pour chaque adresse ne correspondant pas à un nom de contact on doit l'attribuer à une cellule vide de l'entreprise ou si on rajoute une ligne supplémentaire au nom de l'entreprise...

En tout cas merci de faire avancer le schmilblick !
 
Dernière édition:

Grenouille14

XLDnaute Nouveau
Re : Nouveau défi aux experts macros

ça a l'air génial... ça marche... Merci beaucoup.

Je vais maintenant essayer de coller cette macro dans mon fichier initial...
Il n'y a pas de problème particulier normalement si je respecte exactement la même structure de fichier ?
 

job75

XLDnaute Barbatruc
Re : Nouveau défi aux experts macros

Re,

Non pas de problème particulier, il suffit de cnanger éventuellement les lettres des colonnes pour adapter.

Mais je viens de découvrir une erreur :

J'avais écrit :

fin = fin + h

Il fallait écrire :

If h > fin - deb Then fin = deb + h

On s'emmêle facilement avec les indices. Ci-joint le fichier corrigé.

A+
 

Pièces jointes

  • Christophe Emails(1).zip
    16.4 KB · Affichages: 48
  • Christophe Emails(1).zip
    16.4 KB · Affichages: 46
  • Christophe Emails(1).zip
    16.4 KB · Affichages: 46

Grenouille14

XLDnaute Nouveau
Re : Nouveau défi aux experts macros

Bjr Job75 et les autres Forumers !

Malgré l'excellent travail de Job75 sur ce sujet, je viens de m'apercevoir pendant le traitement des données issues du résultat de sa macro que je n'avais pas assez anticipé les suites du traitement des données.
Il faudrait, si possible, que je puisse différencier les emails issus des urls et ceux issus des numéros siren, ce qui signifie qu'ils devraient toujours venir se placer devant les sociétés concernées mais dans des colonnes distinctes.

Aussi, les emails issus des siren devraient venir se mettre par ordre de priorité devant le nom du "directeur d'établissement" ou "directeur général" ou "président directeur général" ou "directeur d'usine" ou "directeur d'usine" ou "président" en fonction de ce qui est renseigné.

Voilà, j'espère qu'il est toujours possible de faire qqch... toujours avec le même fichier de base du post #1

Merci d'avance à vous
 
Dernière édition:

Discussions similaires

Réponses
5
Affichages
357
M
Réponses
9
Affichages
472
Maikales
M
Réponses
12
Affichages
304

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87