XL 2016 Extraire les données de cellules contenant des liens hypertexte de type courriel

franck78600

XLDnaute Nouveau
Bonjour,

Je souhaite extraire les données (adresses mails) d'une colonne (contenant 1400 lignes) contenant que le texte de lien hypertexte "envoyer un message"
Merci de votre aide bienveillante
Capture.PNG
 
Solution
Re,

Voici la macro suivante dans le fichier joint :
VB:
Sub ExtraireAdressesCourriels()
    Dim c As Range    ' variable range d'une cellule parcourue par la boucle for
    Dim t() As String    ' Tableau de résultats
    Dim i As Integer     ' indice de tableau
  
    'Travailler sur le tableau de la feuille GHM
    With ThisWorkbook.Sheets("GHM").Range("A1").CurrentRegion
        '
        ' Eviter la ligne d'entête
        With .Offset(1).Resize(.Rows.Count - 1)
          
            ReDim t(1 To .Rows.Count)
          
            ' Boucler sur les cellules de la cinquième colonne
            For Each c In .Columns(5).Cells
              
                ' si la cellule parcourue contient un lien hypertexte
                If...

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour et bienvenue sur xld,

Il est difficile aux répondeurs de travailler sur une image (...quelque soit son format :) ).
Si vous voulez des réponses, sans doute qu'un fichier exemple anonymisé et sans données confidentielles nous aiderait à vous aider.

cordialement
 

franck78600

XLDnaute Nouveau
Bonjour et merci de votre diligente réponse
en pj le doc
je souhaite donc extraire les données du lien hypertexte "envoyer un message" de la colonne E (adresses mails)et transférer ces adresses dans la colonne F. Mon fichier excel comprendra 1500 lignes Bien cordialement
 

Pièces jointes

  • liste GHM SNGM.xls
    36.5 KB · Affichages: 4

franck78600

XLDnaute Nouveau
Le ficher envoyé est un exemple de mon fichier, je souhaite connaitre la technique (vba, formule...) qui me permettrait d'afficher l'email de chaque personne. Dans la colonne E cette l'adresse mail n’apparaît pas. Le lien hypertexte "envoyer un message" ne me permet que d'envoyer un email. le but est de les afficher et de les utiliser pour des envois groupés.
Merci
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Voici la macro suivante dans le fichier joint :
VB:
Sub ExtraireAdressesCourriels()
    Dim c As Range    ' variable range d'une cellule parcourue par la boucle for
    Dim t() As String    ' Tableau de résultats
    Dim i As Integer     ' indice de tableau
  
    'Travailler sur le tableau de la feuille GHM
    With ThisWorkbook.Sheets("GHM").Range("A1").CurrentRegion
        '
        ' Eviter la ligne d'entête
        With .Offset(1).Resize(.Rows.Count - 1)
          
            ReDim t(1 To .Rows.Count)
          
            ' Boucler sur les cellules de la cinquième colonne
            For Each c In .Columns(5).Cells
              
                ' si la cellule parcourue contient un lien hypertexte
                If c.Hyperlinks.Count > 0 Then
                    i = i + 1
                    ' S'il s'agit d'un lien mailto
                    If Left(LCase(c.Hyperlinks(1).Address), 7) = "mailto:" Then
                        ' valoriser le tableau
                        t(i) = Replace(LCase(c.Hyperlinks(1).Address), "mailto:", "")
                    End If
                End If
            Next c

            If i > 0 Then .Columns(6) = Application.Transpose(t)
        End With
    End With
End Sub

[Edition] Ai corrigé une erreur de logique (en cas de cellule sans lien ) et re loader le fichier.

bonne soirée
 

Pièces jointes

  • liste GHM SNGM 1.xlsm
    26.4 KB · Affichages: 10
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Ecoutez.... soyez plus précis dans vos demandes, pour ma part j'ai répondu à votre demande initiale.
Je ne vois pas de quelle manip vous parlez !!!

Demander un dépannage, n'oblige pas à faire l'économie d'un apprentissage de base.

Je vais finir par passer mon chemin.
 

franck78600

XLDnaute Nouveau
Je comprends .. être plus précis je veux bien mais j'avoue que je n'ai aucune connaissance en VB donc pas évident pour moi.
Pourriez-vous me renvoyer vers un tuto qui m'expliquerait comment et où installer cette commande et me permettre de récupérer les email. Merci par avance de votre patience
Bien cordialement
 

Discussions similaires

Réponses
45
Affichages
1 K

Statistiques des forums

Discussions
312 189
Messages
2 086 033
Membres
103 102
dernier inscrit
nath34490