• Initiateur de la discussion Initiateur de la discussion kaki31
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kaki31

XLDnaute Occasionnel

Pièces jointes

Re : Eclatement cellule

Bonsoir

Pour le fun et parce que cela fonctionne avec Données/Convertir et l’enregistreur de macros
(C'est pas du code VBA joli, joli mais il fait ce qu'on lui demande) 😉
VB:
Sub MacroavecDonneesConvertir()
'on prépare le terrain
Application.ScreenUpdating = False
With Range("B1:B6")
    .FormulaR1C1 = "=TRIM(RC[-1])"
    .Value = .Value
    End With
Columns("A:A").Delete

Range("A1:A6").Replace What:=" M ", Replacement:="$M$", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
Range("A1:A6").Replace What:=" P ", Replacement:="$P$", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

'On se donne et on se convertit
'une fois
Range("A1:A6").TextToColumns Destination:=Range("B1"), DataType:=xlFixedWidth, _
        OtherChar:="$", FieldInfo:=Array(Array(0, 2), Array(17, 9)), _
        TrailingMinusNumbers:=True
'deux fois
Range("B1:B6").TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, OtherChar _
        :="$", FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 4)), _
        TrailingMinusNumbers:=True
'trois fois
Range("A1:A6").TextToColumns Destination:=Range("E1"), DataType:=xlFixedWidth, _
        OtherChar:="$", FieldInfo:=Array(Array(0, 9), Array(18, 2)), _
        TrailingMinusNumbers:=True
'quatre fois
Range("E1:E6").TextToColumns Destination:=Range("E1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :="$", FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 1)), _
        ThousandsSeparator:=".", TrailingMinusNumbers:=True
    Range("G1:G6").TextToColumns Destination:=Range("G1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, OtherChar _
        :="$", FieldInfo:=Array(Array(1, 1), Array(2, 4)), ThousandsSeparator:=".", _
        TrailingMinusNumbers:=True
'c'est fini
Range("B1:H6").Columns.AutoFit
Range("B1:H6").Borders.LineStyle = xlContinuous
Application.ScreenUpdating = False
End Sub
 
Re : Eclatement cellule

Re

J'ai testé avant de poster (et sur mon PC cela fonctionne mais j'ai lancé la macro par Outils/Macros pas par les biais d'un bouton)

(voir copie d'écran ci-dessous)

DONCONV.png
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
198
Retour