Bonjour
Je dispose du fichier suivant (1mo, donc uploadé sur un Wetransfer).
Au sein d'une macro (dont le code est ci-dessous) :
-Je fais un vlookup dans la colonne D
-La formule est copiée jusqu'en cellule D3000 (j'ai besoin d'aller jusqu'à la ligne 30000 et des brouettes)
La limite de 32767 caractères est atteinte en cellule D2710. A partir de la ligne suivante, tous les caractères sont tronqués au delà de 32767 caractères.
J'aurais donc besoin :
-d'une macro qui "splitte" le résultat obtenu en colonne D en autant de colonnes que nécessaires (D, E, F, etc...), par groupe de ~12000 caractères (pas plus).
-que le premier caractère dans chaque colonne soit la première lettre qui arrive après le "|"
-que le dernier caractère dans chaque colonne soit un "|"
Merci d'avance pour votre aide !
Code :
Je dispose du fichier suivant (1mo, donc uploadé sur un Wetransfer).
Au sein d'une macro (dont le code est ci-dessous) :
-Je fais un vlookup dans la colonne D
-La formule est copiée jusqu'en cellule D3000 (j'ai besoin d'aller jusqu'à la ligne 30000 et des brouettes)
La limite de 32767 caractères est atteinte en cellule D2710. A partir de la ligne suivante, tous les caractères sont tronqués au delà de 32767 caractères.
J'aurais donc besoin :
-d'une macro qui "splitte" le résultat obtenu en colonne D en autant de colonnes que nécessaires (D, E, F, etc...), par groupe de ~12000 caractères (pas plus).
-que le premier caractère dans chaque colonne soit la première lettre qui arrive après le "|"
-que le dernier caractère dans chaque colonne soit un "|"
Merci d'avance pour votre aide !
Code :
Code:
'
' Macro1 Macro
'
'
Range("C1").Select
ActiveCell.FormulaR1C1 = "concat"
Range("D1").Select
ActiveCell.FormulaR1C1 = "regex"
Range("E1").Select
ActiveCell.FormulaR1C1 = "nbchar"
Range("C2").Select
ActiveCell.FormulaR1C1 = "=RC[-1]&""|"""
Range("C2").Select
Selection.AutoFill Destination:=Range("C2:C31659")
Range("C2:C31659").Select
Range("D2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-3]=R[-1]C[-3],R[-1]C&RC[-1],RC[-1])"
Range("D2").Select
Selection.Copy
Range("D2:D9").Select
ActiveSheet.Paste
Range("D9").Select
Application.CutCopyMode = False
Selection.Copy
Range("D9:D16").Select
ActiveSheet.Paste
Range("D9").Select
Application.CutCopyMode = False
Selection.Copy
Range("D9:D3000").Select
ActiveSheet.Paste
For Each sh In ActiveWorkbook.Sheets
If sh.Name Like "Sheet2" Then
sh.Name = "skumapping"
End If
Next sh
End Sub
Dernière édition: