Copier une partie du texte d'une même cellule

Bonjour,

Je dispose d'un fichier excel où chaque ligne correspond à une donnée financière des comptes annuelles d'une entreprise.

Exemple cellule A450 :

<pfs:CurrentsAssets contextRef="CurrentInstant" decimals="INF" unitRef="U-EUR">41575.40</pfs:CurrentsAssets>

Quel code VBA utiliser pour donner à ma variable "CurrentsAssets 2013" uniquement la valeur comprise entre ">" et "</pfs"?

Merci d'avance pour votre aide!

Bonjour,

ce n'est pas un fichier Excel ! Le plus efficace serait d'intervenir à la source …

Sinon consulter les fonctions texte dans l'aide VBA comme par exemple Split , Instr et Mid

Bonjour Marc L,

Effectivement, le fichier original est un .xbrl dont j'ai copié le code dans une feuille Excel.

En utilisant les fonctions textes que tu as mentionnées, j'ai trouvé la solution avec le code suivant:

CellToAnalyse = Worksheets(InputSheet).Range("A450").Value
            Début = InStr(CellToAnalyse, ">") + 1
            Fin = InStr(CellToAnalyse, "</pfs")
            Longueur = Fin - Début
            Data = Mid(CellToAnalyse, Début, Longueur)
            Worksheets(OutputSheet).Range("CurrentsAssets").Value = Data

Merci!

Bien !

S'il y a beaucoup de lignes à traiter avec la même structure, la fonction Split pourrait s"avérer plus véloce :

Sub Demo()
    Const T = "<pfs:CurrentsAssets contextRef=""CurrentInstant"" decimals=""INF"" unitRef=""U-EUR"">41575.40</pfs:CurrentsAssets>"

    MsgBox Split(Split(T, ">")(1), "<")(0)
End Sub
Rechercher des sujets similaires à "copier partie texte meme"