XL 2016 manipulation de chaines de caractères

Bill73

XLDnaute Junior
bonjour,
je ne suis pas au top pour la manipulation de chaine, ce qui me pousse à demander de l'aide.
j'ai des séries de cellules comportant des valeurs séparées par des ";"
exemple :

cellule B5 : 1;2;5;4
cellule B6 : 48;50;82;102

en sachant que la deuxième ligne contient des références.

comment pouvoir récupérer la valeur "5" par rapport à la référence "82" par exemple.
la référence est récupérée avec une fonction de recherche.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Avec une petite fonction perso :
VB:
Function CherchePerso(Chaine1, valeur, Chaine2)
Dim i As Integer, tablo1, tablo2
CherchePerso = ""
tablo1 = Split(Chaine1, ";")
tablo2 = Split(Chaine2, ";")
For i = 0 To UBound(tablo1)
    If Val(tablo1(i)) = valeur Then
        CherchePerso = Val(tablo2(i))
        Exit Function
    End If
Next i
End Function
 

Pièces jointes

  • Classeur1.xlsm
    18.4 KB · Affichages: 10

Bill73

XLDnaute Junior
j'ai un petit soucis avec la ligne : tablo1(i) = tablo2(i)
je viens de passer 2h en réunion Teams, et j'ai perdu le fil....

je comprend pas l'utilité de passer les valeurs de Réf dans les valeurs cherchées.
De plus, en sortie, j'ai la chaine Réf au lieu de la chaine modifiée de valeur.
 

Bill73

XLDnaute Junior
c'est tout bon, ça marche avec :

VB:
Public Function MdNbRef(Chaine1, valeur, ref, Chaine2)
    Dim i As Integer, tablo1, tablo2
    MdNbRef = ""
    tablo1 = Split(Chaine1, ";")
    tablo2 = Split(Chaine2, ";")
    For i = 0 To UBound(tablo1)
        If Val(tablo1(i)) = ref Then
            tablo2(i) = valeur
        End If
    Next i
    For i = 0 To UBound(tablo1)
        MdNbRef = MdNbRef & ";" & tablo2(i)
    Next i
    MdNbRef = Mid(MdNbRef, 2)
End Function

encore merci, découverte de Split, ça va me servir plus tard.
 

Discussions similaires

Statistiques des forums

Discussions
312 366
Messages
2 087 634
Membres
103 626
dernier inscrit
Valentino76