Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres XL2007 Enlever tirets et mettre en colonne

erics83

XLDnaute Impliqué
Bonjour,

Je souhaite mettre sous forme de colonne les éléments d'une série séparés par un tiret....:



la série en A1 est toujours sous ce format : un nom, un espace, un tiret, un espace, un nom, etc.....et j'aimerai récupérer les noms pour les mettre en colonne...

Merci pour votre aide,
 

erics83

XLDnaute Impliqué
Merci jmfmarques,
Merci chris,

C'es clair qu'à force de chercher des solutions, on oublie les choses simples....j'avais oublié d'utiliser ce chemin....(j'avais créé des séries de formules avec "trouve", mais j'avais des erreurs....)

Donc, comme je souhaite le faire en VBA, j'ai utilisé l'assistant et cela donne :

VB:
Application.CutCopyMode = False
    Selection.TextToColumns Destination:=Range("A3"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :="-", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
        1)), TrailingMinusNumbers:=True

En enlevant les "choses inutiles", on peut réduire à
Code:
Selection.TextToColumns Destination:=Range("A3"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, Tab:=True, Other:=True, OtherChar:="-", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), TrailingMinusNumbers:=True

Mais maintenant ma question est : mes séries ont parfois 5, 8, 10, 2 noms, etc....comment faire pour le
Code:
FieldInfo:Array(
, puisqu'il peut changer de format (=nombre de noms) ?

Merci pour votre aide,
 

erics83

XLDnaute Impliqué
Merci jmfmarques,

Effectivement, cela fonctionne sans....peut-on encore simplifier ?
Merci pour votre aide

Merci mutzik, je vais faire un tour pour voir comment je pourrais utiliser "split"
 

erics83

XLDnaute Impliqué
Merci à vous deux,
Et surtout merci à notre très cher Silkyroad qui explique très bien dans son tuto comment utiliser "split" et donc en l'adaptant à mon cas :
VB:
Tableau = Split(Feuil1.Range("A3"), "-")
et merci à mutzik pour la piste....top !

Merci pour votre aide,
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…