Extraire des caractères d'une cellule se trouvant après un mot

Bonjour, je fais appel à vos connaissances concernant un problème que je rencontre depuis quelques temps.

Le texte suivant se trouve en Cellule A4 --> [Date : 07/08/2020 Ref : 1234567-FR-001 Process : ABC Use : Doc Lang : FR ]

Je souhaiterais :

Extraire la date 07/08/2020et la reporter dans la colonne Date sur la ligne correspondante --> B4

Extraire la Ref 1234567-FR-001et la coller en C4, et ainsi de suite pour Process en D4, Use en E4 et Lang en F4

Voici un code que j'ai actuellement pour extraire Ref et que je souhaiterais dupliquer aux autres critères, mais qui ne répond pas à ma problématique.

Sub test()

With Range("A1:A" &[A65536].End(xlUp).Row).SpecialCells(xlCellTypeConstants)
    For i = 1 To .Rows.Count
        SearchString = .Cells(i, 1).Value
        SearchChar = "Ref"
        w = InStr(SearchString, SearchChar)
        If .Cells(i, 1) Like "*Ref*" Then
        Valeu = (Mid(SearchString, InStr(SearchString, "Ref"), 20))
    .Cells(i, 3).Value = Valeu
End If
Next
End With

    End Sub
11test-export.xlsx (8.65 Ko)

Voici un fichier d'exemple sans données confidentielles. Le vrai fichier comporte environ 200 lignes de ce type à extraire.

Je vous remercie grandement de votre aide!

Bonsoir

un essai Rapide de ce que j'ai compris... :

Sub test()
tb = Range("A1:A" & [A65536].End(xlUp).Row).Value
For i = LBound(tb, 1) To UBound(tb, 1)
    If Left(tb(i, 1), 4) = "Date" Then
        tbs = Split(tb(i, 1), ":")
        Cells(i, "B") = Trim(Replace(tbs(1), "Ref", ""))
        Cells(i, "C") = Trim(Replace(tbs(2), "Process", ""))
        Cells(i, "D") = Trim(Replace(tbs(3), "Use", ""))
        Cells(i, "E") = Trim(Replace(tbs(4), "Lang", ""))
        Cells(i, "F") = Trim(tbs(5))
    End If
Next
End Sub

Fred

Bonjour,

Une proposition sans passer par des macros.

14test-export.xlsx (9.24 Ko)
8test-export.xlsx (9.15 Ko)

Bonjour,

Merci beaucoup pour vos réponses! L'extraction des données de la cellule A4 vers les autres colonnes fonctionne parfaitement.

J'ai omis de préciser une chose lors de ma demande initiale :

En colonne A se trouvent des cellules contenant un lien hypertexte, serait-il possible de couper le contenu des cellules se trouvant au dessus de celles contenant un lien hypertexte et coller le contenu en colonne G à la suite des autres informations de la macro précédente ?

Par exemple :

- La cellule A7 contient un lien hypertexte, je souhaiterais couper A6 et coller en G3

- La cellule A11 contient un lien hypertexte, je souhaiterais couper A10 et coller en G8

Les liens hypertexte sont représentés par les cellules en jaune.

Merci d'avance de votre aide!

Bonjour

le sujet est marqué comme résolu...

as tu trouvé pour ta dernière question ??

sinon j'essai de regarder cela.

Fred

Bonjour,

Oui j'ai trouvé une solution, peu académique et qui ferait trembler les experts mais qui fonctionne!

La macro dans sa globalité fonctionne, en intégrant le code que tu as rédigé. Elle est un peu lente mais je pense que pour l'améliorer il faudrait revoir toute la structure de ce que j'ai écrit.

A l'heure actuelle, je me contente du fait que cela fonctionne.

Merci beaucoup de ton aide!

OK

Bonne continuation

Bye

Fred

Rechercher des sujets similaires à "extraire caracteres trouvant mot"