Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres Extraire les données d'une cellule APRES le signe =>

Tamm1

XLDnaute Nouveau


Bonjour,

Je n'arrive pas à récupérer à obtenir les données après " => "
Si quelqu'un serait m'aider s'il vous plait ?

Par avance merci
Tam
 

Pièces jointes

  • excel.exemple.xlsx
    11.4 KB · Affichages: 9

Tamm1

XLDnaute Nouveau
J'en profite que tu t'y connaisses pour savoir s'il est possible de ne pas faire le saut de ligne sois même à chaque fois ?
Lorsqu'il y a déjà un => si je peux le mettre dans une autre ligne ?

Cordialement
 

job75

XLDnaute Barbatruc
Bonjour Tamm1, frangy,

Voyez le fichier .xlsm joint et cette fonction VBA, à placer impérativement dans un module standard :
VB:
Function Separer$(t$, ordre As Byte)
Dim i%, flag As Boolean
If ordre = 1 Then
    t = vbLf & t
    For i = 1 To Len(t)
        If Mid(t, i, 1) = vbLf Then flag = True
        If Mid(t, i, 1) = "=" Then flag = False
        If flag Then Separer = Separer & Mid(t, i, 1)
    Next
    Separer = Trim(Mid(Separer, 2))
Else
    For i = 1 To Len(t)
        If Mid(t, i, 1) = "=" Then flag = True: i = i + 2
        If flag Then Separer = Separer & Mid(t, i, 1)
        If Mid(t, i, 1) = vbLf Then flag = False
    Next
    Separer = Trim(Separer)
End If
End Function
Elle est utilisée dans les formules en B3 et C3.

Pour les renvois à la ligne (vbLf) il faut qu'ils existent préalablement en colonne A, voyez en ligne 22.

A+
 

Pièces jointes

  • excel.exemple(1).xlsm
    18.6 KB · Affichages: 5

job75

XLDnaute Barbatruc
Re,

Il y avait des espaces à supprimer en C22, ceci va mieux :
VB:
Function Separer$(t$, ordre As Byte)
Dim i%, flag As Boolean
t = Application.Trim(t) 'SUPPRESPACE
If ordre = 1 Then
    t = vbLf & t
    For i = 1 To Len(t)
        If Mid(t, i, 1) = vbLf Then flag = True
        If Mid(t, i, 1) = "=" Then flag = False
        If flag Then Separer = Separer & Mid(t, i, 1)
    Next
    Separer = Trim(Mid(Separer, 2))
Else
    For i = 1 To Len(t)
        If Mid(t, i, 1) = "=" Then flag = True: i = i + 2 - (Mid(t, i + 2, 1) = " ")
        If flag Then Separer = Separer & Mid(t, i, 1)
        If Mid(t, i, 1) = vbLf Then flag = False
    Next
End If
End Function
Fichier (2).

Bonne nuit.
 

Pièces jointes

  • excel.exemple(2).xlsm
    20 KB · Affichages: 4
Dernière édition:

Discussions similaires

Réponses
45
Affichages
1 K
Réponses
7
Affichages
307
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…