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

XL 2019 conversion de cellules

philsogood

XLDnaute Junior
hello
j'ai plusieurs lignes avec une cellule contenant chacune des valeurs/paramètres pour une application.
toutes les lignes n'ont pas les même besoin en terme de paramètre
le ficheir en l'état (ce n'est qu'un tronçon du fichier) est difficilement exploitable, je préferai avoir une colonne pa paramètre et qu'elle soit cochée (mais ça c'est une deuxième étape...)
dans un premeir temps je souhaiterai convertir ma cellule en plusieurs cellules, chaque celleule contiendraint une valeur un apramètre
on est un peu aidé car chaque valeur est séparé de la suivante par un point virgule
un exemple ci-dessous (en jaune) de ce à quoi j'aimerai parvenir pour totues les cellules
je vous joins le fichier
Phil
mais j'arrive pas à convertir les cellules car toutes nn'ont pas le même nombre de paramètres
 

Pièces jointes

  • Classeur2.xlsx
    10.9 KB · Affichages: 11

philsogood

XLDnaute Junior
hello
bon j'ai réussi à convertir mes données
j'ai converti le fichier en html
copier le tout sur notepad
bricolé en remplaçant des caractères
et hop, la magie a opéré!!
Phil
(il me reste à ranger les paramètres)
 

CISCO

XLDnaute Barbatruc
Bonjour

Une possibilité avec des formules, une dans B3, et une autre dans C3 (cette dernière à tirer vers la droite).

@ plus
 

Pièces jointes

  • Classeurphilsogood.xlsx
    12.6 KB · Affichages: 2

Dranreb

XLDnaute Barbatruc
Bonjour.
Sinon cette macro peut aussi faire le taf :
VB:
Sub Macro1()
   Dim CelSrc As Range, AdrSrc As String, CelCbl As Range, CelTrv As Range, X As Integer, Espaces As String
   Set CelSrc = ActiveSheet.[A3].Resize(ActiveSheet.[A1000000].End(xlUp).Row - 2)
   Set CelCbl = CelSrc ' .Offset(, 1)
   Set CelTrv = CelCbl.Offset(, 1)
   AdrSrc = CelSrc(1, 1).Address(False, True, xlR1C1, Relativeto:=CelCbl)
   For X = 8 To 0 Step -1
      Espaces = "REPT("" ""," & 2 ^ X & ")"
      CelTrv.FormulaR1C1 = "=SUBSTITUTE(SUBSTITUTE(" & AdrSrc & "," & Espaces _
         & "&"" ;"","" ;""),"";""&" & Espaces & ","";"")"
      CelCbl.Value = CelTrv.Value
      AdrSrc = CelCbl(1, 1).Address(False, True, xlR1C1, Relativeto:=CelTrv)
      Next X
   CelTrv.FormulaR1C1 = "=SUBSTITUTE(SUBSTITUTE(RC[-1],"" ;""&CHAR(10),"" ;""),"" ;"",CHAR(9))"
   CelCbl.Value = CelTrv.Value
   CelTrv.Resize(, 500).ClearContents
   CelCbl.TextToColumns Destination:=CelCbl, DataType:=xlDelimited, Tab:=True
   CelCbl.Resize(, 500).Columns.AutoFit: CelCbl.Rows.AutoFit
   End Sub
 

Discussions similaires

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