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: