Segmenter une variable string
Résolu/Fermé
Bonjour,
Je travaille en vba pour Excel. Dans un tableau Tabl(i), j'ai une variable string (i) de plus de 1000 caractères. Je désire prendre cette variable en tranches de 250 caractères, chaque tranche étant insérée dans une nouvelle variable string. Je cherche une formule élégante et simple.
Merci
RC
Je travaille en vba pour Excel. Dans un tableau Tabl(i), j'ai une variable string (i) de plus de 1000 caractères. Je désire prendre cette variable en tranches de 250 caractères, chaque tranche étant insérée dans une nouvelle variable string. Je cherche une formule élégante et simple.
Merci
RC
A voir également:
- Segmenter une variable string
- Vli product string - Forum Matériel & Système
- Dans son restaurant, igor utilise une application pour gérer les réservations. dans le schéma (structure) de la base de données de l’application représenté ci-dessous : de quoi « telephone » est-il le nom ? de quoi « reservations » est-il le nom ? associez chaque terme avec un attribut, une donnée, un enregistrement, une table, une valeur ou une variable. - Forum Webmastering
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ✓ - Forum Python
3 réponses
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
4 déc. 2012 à 08:50
4 déc. 2012 à 08:50
Bonjour,
Principe
Bonne suite
Principe
Sub test() Dim var1000 As String Dim var1_250, var251_500, var501_750, var751_1000 var1000 = String(250, "A") + String(250, "B") + String(250, "C") + String(250, "D") var1_250 = Left(var1000, 250) var251_500 = Mid(var1000, 251, 250) var501_750 = Mid(var1000, 501, 250) var751_1000 = Mid(var1000, 751, 250) Debug.Print var1000 Debug.Print var1_250 Debug.Print var251_500 Debug.Print var501_750 Debug.Print var751_1000 End Sub
Bonne suite
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 757
4 déc. 2012 à 09:27
4 déc. 2012 à 09:27
Bonjour,
Une variante à la proposition de f894009 (salut au passage), avec une variable tableau qui réceptionne les résultats.
Une variante à la proposition de f894009 (salut au passage), avec une variable tableau qui réceptionne les résultats.
Dim str1000 As String, str250(3) As String, i As Byte For i = 1 To 4 str250(i - 1) = Mid(str1000, (250 * i) - 249, 250) Next i For i = 0 To 3 Debug.Print str250(i) Next i
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
4 déc. 2012 à 09:30
4 déc. 2012 à 09:30
bonjour,
une autre avec possibilité d'autres textes et d'autres paramétages
une autre avec possibilité d'autres textes et d'autres paramétages
Function scinder(origine As String, nbre_blocs As Byte) Dim cptr As Byte, separe As Integer On Error GoTo fin separe = Len(origine) / nbre_blocs ReDim tablo(nbre_blocs - 1) For cptr = 0 To nbre_blocs - 1 tablo(cptr) = Mid(origine, cptr * separe + 1, separe) Next scinder = tablo Exit Function fin: MsgBox "parametrage incorrect", vbCritical End Function '------------------------------------ Sub test() Dim reponse() reponse = scinder(Range("A1").Value, 4)