Réduire la taille de la macro

Salut,

J'ai enregistré une macro (TextToColumns voir ci-dessous) mais il se trouve qu'elle est trop longue donc elle ne peut pas être compilée dans VBA (trop de caractère de continuité de ligne).

Sub Macro1()

Macro1 Macro

Selection.TextToColumns Destination := Range("A1"), DataType := xlDelimited, _

TextQualifier := xlDoubleQuote, ConsecutiveDelimiter := FALSE, Tab := FALSE, _

Semicolon := FALSE, Comma := TRUE, Space := FALSE, Other := FALSE, FieldInfo _

:= Array(Array(1,1),Array(2,1),Array(3,1),Array(4,1),Array(5,1),Array(6,1), _

Array(7,1),Array(8,1),Array(9,1),Array(10,1),Array(11,1),Array(12,1),Array(13,1 _

),Array(14,1),Array(15,1),Array(16,1),Array(17,1),Array(18,1),Array(19,1),Array _

(20,1),Array(21,1),Array(22,1),Array(23,1),Array(24,1),Array(25,1),Array(26,1), _

Array(27,1),Array(28,1),Array(29,1),Array(30,1),Array(31,1),Array(32,1),Array( _

33,1),Array(34,1),Array(35,1),Array(36,1),Array(37,1),Array(38,1),Array(39,1), _

Array(40,1),Array(41,1),Array(42,1),Array(43,1),Array(44,1),Array(45,1),Array( _

46,1),Array(47,1),Array(48,1),Array(49,1),Array(50,1),Array(51,1),Array(52,1), _

Array(53,1),Array(54,1),Array(55,1),Array(56,1),Array(57,1),Array(58,1),Array( _

59,1),Array(60,1),Array(61,1),Array(62,1),Array(63,1),Array(64,1),Array(65,1), _

Array(66,1),Array(67,1),Array(68,1),Array(69,1),Array(70,1),Array(71,1),Array( _

72,1),Array(73,1),Array(74,1),Array(75,1),Array(76,1),Array(77,1),Array(78,1), _

Array(79,1),Array(80,1),Array(81,1),Array(82,1),Array(83,1),Array(84,1),Array( _

85,1),Array(86,1),Array(87,1),Array(88,1),Array(89,1),Array(90,1),Array(91,1), _

Array(92,1),Array(93,1),Array(94,1),Array(95,1),Array(96,1),Array(97,1),Array( _

98,1),Array(99,1),Array(100,1),Array(101,1),Array(102,1),Array(103,1),Array(104 _

,1),Array(105,1),Array(106,1),Array(107,1),Array(108,1),Array(109,1),Array(110, _

1),Array(111,1),Array(112,1),Array(113,1),Array(114,1),Array(115,1),Array(116,1 _

),Array(117,1),Array(118,1),Array(119,1),Array(120,1),Array(121,1),Array(122,1) _

,Array(123,1),Array(124,1),Array(125,1),Array(126,1),Array(127,1),Array(128,1), _

Array(129,1),Array(130,1),Array(131,1),Array(132,1),Array(133,1),Array(134,1), _

J'ai essayé de le réduire en procédant ainsi (pour remplacer toute la série Array) et autant dire que ça n'a pas du tout marché ?

Sub Reduire()

Dim X As Integer

Dim tableau_ligne As String

tableau_ligne = "Array(1, 1)"

For X = 2 To 134

tableau_ligne = tableau_ligne & ", Array(" & X & ", 1)"

Next X

Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _

TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _

Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _

:=Array(tableau_ligne), TrailingMinusNumbers:=True

End Sub

Merci d'avance de votre aide !

Hello,

A tester :

Sub Split_txt()

Dim Tab_Split, Valeur
Dim rg_Data As Range
Dim Data_split As String, separateur As String
Dim  i As Integer

Set rg_Data = Sheets(5).Range("A1") 'Cellule contenant les données

Data_split = rg_Data.Value 'Récupération des valeurs
separateur = """" 'Def du séparateur

Tab_Split = Split(Data_split, separateur) 'Dissocie les data en fonction du separateur

i = 5
y=1
For Each Valeur In Tab_Split 'Boucle sur toutes les valeurs
    Cells(i, y).Value = Valeur 'Affectation de la valeur
   y = y + 1 'Colonne suivante
Next Valeur 'Valeur suivante

End Sub

let's go pour le test, je te tiens au courant du résultat.

Bonsoir,

et en supprimant tout simplement le dernier argument?

Sub Macro1()
Macro1 Macro

Selection.TextToColumns Destination := Range("A1"), DataType := xlDelimited, _
TextQualifier := xlDoubleQuote, Comma := TRUE
End Sub

Peut-être?

Cousinhb29 A voir ce que ça donne aussi, je te tiens au jus.

Cousinhb29, erreur de syntaxe parce qu'avec cette macro il faut absolument preciser les colonnes sélectionner d'où le FieldInfo.

Rag02700 petite adaptation et ça marche nickel

Bonjour,

Cousinhb29, erreur de syntaxe parce qu'avec cette macro il faut absolument preciser les colonnes sélectionner d'où le FieldInfo

Pourtant, dans mon fichier, pas de soucis...

12tidio-v1.xlsm (14.38 Ko)

Slt Cousinhb29, Ouais t'as totalement raison, je vais voir ça en detail. Tu penses que l'extension peut y jouer un role

Rechercher des sujets similaires à "reduire taille macro"