Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Copier chaines de caractères vers d'autres colonnes

2 réponses
Avatar
bauhaus
Bonjour,
Je débute, j'ai essayé de trouver la bonne méthode, mais je bloque....
J'ai une colonne "Ref" qui contient une série de caractères comme ceci : 9P01633 (chiffres + une lettre différente à chaque fois et dont l'emplacement peut varier)
J'aurais besoin de copier dans un 1er temps les caractères qui sont à gauche de la lettre vers une autre colonne à droite, (soit dans cet exemple "9P") ; puis trouver et copier la lette (ici "P") vers une 3° colonne.....

Merci d'avance pour votre aide, je m'arrache les cheveux dessus depuis hier.....

2 réponses

Avatar
h2so4
Bonjour,

voici une possibilité en passant par une fonction définie spécialement
pour ce que tu souhaites faire .

la fonction à copier dans un module

Function ftl(a As String) As String
Dim b As String, i As Integer

For i = 1 To Len(a)
b = Mid(a, i, 1)
ftl = ftl & b
If b > "9" Then Exit Function
Next i
End Function

ensuite utilisation de la fonction
si la référence est en A1 (9P01633)

mettre en B1 =ftl(A1) -> 9P et en C1 =droite(B1;1) -> P



After serious thinking bauhaus wrote :
Bonjour,
Je débute, j'ai essayé de trouver la bonne méthode, mais je bloque....
J'ai une colonne "Ref" qui contient une série de caractères comme ceci :
9P01633 (chiffres + une lettre différente à chaque fois et dont l'emplacement
peut varier)
J'aurais besoin de copier dans un 1er temps les caractères qui sont à gauche
de la lettre vers une autre colonne à droite, (soit dans cet exemple "9P") ;
puis trouver et copier la lette (ici "P") vers une 3° colonne.....

Merci d'avance pour votre aide, je m'arrache les cheveux dessus depuis
hier.....



--
h2so4
ca PAN
pique DORA
.
Avatar
LSteph
Bonjour,

Sans VBA
1-Récupèrer uniquement la lettre
On va utiliser substitue (mais cette fonctionne se répète que 8 fois
apres ca bug, il faut donc ruser)
Supposons ton code en e2
On se positionne en F2
Définir un nom
subst1
refère à
=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SU BSTITUE(E2;"9";"");"8";"");"7";"");"6";"");"5";"");"4";"");"3";"");"2";"")
Ok puis à nouveau Définir un nom
subst
réfère à
=SUBSTITUE(SUBSTITUE(Subst1;"1";"");"0";"")
Ok puis en F2 on entre =subst
et l'on obtient la lettre

2-Pour obtenir la partie gauche
=GAUCHE(E2;TROUVE(F2;E2)-1)

On peut alors recopier ces deux formules vers le bas.

Cordialement.

--
LSteph



On Jul 5, 3:50 pm, h2so4 wrote:
Bonjour,

voici une possibilit en passant par une fonction d finie sp cialement
pour ce que tu souhaites faire .

la fonction copier dans un module

Function ftl(a As String) As String
Dim b As String, i As Integer

For i = 1 To Len(a)
b = Mid(a, i, 1)
ftl = ftl & b
If b > "9" Then Exit Function
Next i
End Function

ensuite utilisation de la fonction
si la r f rence est en A1 (9P01633)

mettre en B1 =ftl(A1) -> 9P et en C1 =droite(B1;1) -> P

After serious thinking bauhaus wrote :

> Bonjour,
> Je d bute, j'ai essay de trouver la bonne m thode, mais je bloque....
> J'ai une colonne "Ref" qui contient une s rie de caract res comme ceci :
> 9P01633 (chiffres + une lettre diff rente chaque fois et dont l'emplace ment
> peut varier)
> J'aurais besoin de copier dans un 1er temps les caract res qui sont gau che
> de la lettre vers une  autre colonne droite, (soit dans cet exemple " 9P") ;
>  puis  trouver et copier la lette (ici "P") vers une 3 colonne.....

> Merci d'avance pour votre aide, je m'arrache les cheveux dessus depuis
> hier.....

--
h2so4
ca PAN
pique DORA
.