Supprimer ou extraire texte et variable d'une cellule
Bonjour,
Je sollicite votre aide pour un problème pour lequel je n'ai pas trouvé de solution malgré une recherche intensive sur beaucoup de forums..
Ce que j'aimerai faire
j'ai par exemple une colonne avec des lignes qui se suivent de type :
Normal : menu_principal/21/menu53/1/menu54/1/
Normal : menu_principal/20/menu53/1/menu54/1/
Normal : menu_principal/28/menu41/1/menu42/*/menu41/3/
J'aimerai pouvoir supprimer le "Normal : menu_principal/ZZ/", les "menuZZ" ainsi que les "/*/" (ZZ sont les nombres que l'on voit dans les lignes ci-dessus) afin qu'il ne me reste plus que les /1/, /2/, /3/
Voici pour le moment ce que j'ai tenté de faire, mais les nombres que je souhaite supprimer n'accroche pas aux variables de mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Sub txt()
Dim X As Long
Dim Z As integer
For X = 1 To Range("A" & Application.Rows.Count).End(xlUp).Row
Sheets("TEST").Select
Range("A" & X) = Replace(Replace(Replace(Range("A" & X), "Normal : menu_principal/", ""), "/menu" + ZZ, ""), "/*/", "")
Sheet("TEST").Select
Column("A").Select
Selection.Copy
Column("E").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub |
Si quelqu'un a une astuce ce serait super !
Merci
François
supprimer ou extraire texte et variable d'unne cellule
Bonjour,
Peut-être quelque chose comme ceci.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Sub extract()
sch = ""
derlig = Range("a65536").End(xlUp).Row
'Cells(1, 3) = derlig
For i = 2 To derlig
ext = Split(Cells(i, 1), "/")
For j = 0 To UBound(ext) - 1
If IsNumeric(ext(j)) Then
sch = sch + "/" & ext(j) & "/;"
End If
Cells(i, 2) = sch
Next j
sch = ""
Next i
End Sub |
Il t'appartiendra de l'améliorer si cette approche te convient.
Cordialement
supprimer ou extraire texte et variable d'unne cellule
Bonjour Marc,
Selon ce que j'ai compris et essayé de faire ? il veut conserver uniquement les valeurs numériques encadrées de "/".
Il lui faudra éventuellement remplacer séparateur ";" par des "," ou des "espaces " et vraisemblablement supprimer le dernier ";" superflu dans ma proposition.
De plus, il lui appartiendra de savoir s'il veut remplacer les chaines existantes ou mettre la nouvelle chaine à coté comme fait dans le code.
Il m'aura fallu pas moins d'une heure pour sortir tant bien que mal ce bout de code.
C'est dire que ce n'est pas demain la veille que je parviendrai à codifier ma gestion immeuble (je suis syndic bénévole).
Cordialement.