Dissocier, retirer un caractère et recopier en dessous
2 réponses
Claudy
Bonjour,
Dans ma colonne B, par exemple, en B10, je pourrais avoir une chaine de
caractère comme: 5426+6985+3658
Mon problème:
Comment à partir de "B10" avoir: B10=5426; B11=6985 et B12=3658
Autrement dit, comment dissocier B10 en retirant le signe "+"
Tout en sachant que le nombre de "+" peut varier
Merci d'avance'
Claudy
Bonjour, Tel qu'exposé, je ne vois que le VBA pour remettre en B10 une partie de ce qu'il y avait avant. Donc je propose le code ci-dessous ( largement améliorable) à mettre dans un module standard puis lancer la macro zzzz (marque et modèle déposé par AV)
Sub zzzz() y = Range("B10").Value n = 0 For i = 1 To Len(y) z = Mid$(y, i, 1) If z = "+" Then Range("B" & n + 10).Value = c n = n + 1 c = "" Else c = c + z End If Next i Range("B" & n + 10).Value = c End Sub
-- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/
"Claudy" a écrit dans le message de news: BE0D901D.BB9C%
Bonjour, Dans ma colonne B, par exemple, en B10, je pourrais avoir une chaine de caractère comme: 5426+6985+3658 Mon problème: Comment à partir de "B10" avoir: B10T26; B11i85 et B12658 Autrement dit, comment dissocier B10 en retirant le signe "+" Tout en sachant que le nombre de "+" peut varier Merci d'avance' Claudy
Bonjour,
Tel qu'exposé, je ne vois que le VBA pour remettre en B10 une partie de ce
qu'il y avait avant.
Donc je propose le code ci-dessous ( largement améliorable) à mettre dans un
module standard
puis lancer la macro zzzz (marque et modèle déposé par AV)
Sub zzzz()
y = Range("B10").Value
n = 0
For i = 1 To Len(y)
z = Mid$(y, i, 1)
If z = "+" Then
Range("B" & n + 10).Value = c
n = n + 1
c = ""
Else
c = c + z
End If
Next i
Range("B" & n + 10).Value = c
End Sub
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Claudy" <clubqre@idcn.mil.be.nospam> a écrit dans le message de news:
BE0D901D.BB9C%clubqre@idcn.mil.be.nospam...
Bonjour,
Dans ma colonne B, par exemple, en B10, je pourrais avoir une chaine de
caractère comme: 5426+6985+3658
Mon problème:
Comment à partir de "B10" avoir: B10T26; B11i85 et B12658
Autrement dit, comment dissocier B10 en retirant le signe "+"
Tout en sachant que le nombre de "+" peut varier
Merci d'avance'
Claudy
Bonjour, Tel qu'exposé, je ne vois que le VBA pour remettre en B10 une partie de ce qu'il y avait avant. Donc je propose le code ci-dessous ( largement améliorable) à mettre dans un module standard puis lancer la macro zzzz (marque et modèle déposé par AV)
Sub zzzz() y = Range("B10").Value n = 0 For i = 1 To Len(y) z = Mid$(y, i, 1) If z = "+" Then Range("B" & n + 10).Value = c n = n + 1 c = "" Else c = c + z End If Next i Range("B" & n + 10).Value = c End Sub
-- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/
"Claudy" a écrit dans le message de news: BE0D901D.BB9C%
Bonjour, Dans ma colonne B, par exemple, en B10, je pourrais avoir une chaine de caractère comme: 5426+6985+3658 Mon problème: Comment à partir de "B10" avoir: B10T26; B11i85 et B12658 Autrement dit, comment dissocier B10 en retirant le signe "+" Tout en sachant que le nombre de "+" peut varier Merci d'avance' Claudy