Copier chaines de caractères vers d'autres colonnes
2 réponses
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.....
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 .
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.....
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 .
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 .
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 <H2...@capique.be> 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.....
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.....