Je dois cr=E9er des fonctions VBA dans Excel pour exporter=20
(d'Excel vers un autre syst=E8me d'informations) une=20
d=E9signation de 90 caract=E8res en 3 d=E9signations de 30=20
caract=E8res sans couper les mots.
Exemple d'un texte =E0 d=E9couper :
A1 =3D "Ils doivent r=E9aliser le d=E9coupage d'une d=E9signation=20
de 90 caract=E8res en plusieurs d=E9signat"
- Texte 1 doit avoir 30 caract=E8res sans coupure de mots :
Texte 1 =3D "Ils doivent r=E9aliser le " (24 caract=E8res)=20
rajouter 6 blancs pour arriver =E0 trente
- Texte 2 doit avoir 30 caract=E8res sans coupure de mots :
Texte 2 =3D "d=E9coupage d'une d=E9signation de" (30=20
caract=E8res)=20
- Texte 3 doit avoir 30 caract=E8res avec possibilit=E9 de=20
coupure de mots :
Texte 3 =3D "90 caract=E8res en plusieurs d=E9s" (on tronque=20
au 30 =E8me caract=E8res. Dommage pour les caract=E8res qui=20
manquent le syst=E8me n'accepte que 90 caract=E8res au total)
.
Quelqu'un conna=EEt-il une solution ou une proc=E9dure VBA=20
existante ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jessy SEMPERE
Bonjour
Le code qui suit devrait te convenir : ********************************************* Dim str1 As String Dim str2 As String Dim str3 As String
Function Scinder(str As String) Dim pos As Integer Dim intStr As Integer For intStr = 1 To 2 pos = InStr(1, str, " ") Do While pos > 0 If InStr(pos + 1, str, " ") <= 30 Then pos = InStr(pos + 1, str, " ") Else Exit Do End If Loop If intStr = 1 Then str1 = Left(str, pos) If intStr = 2 Then str2 = Left(str, pos) str = Mid(str, pos + 1) Next str3 = Left(str, 30) End Function ********************************************* @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "KIKSAN" a écrit dans le message news: 0b1e01c38e5c$37add360$ Bonjour à tous,
Je dois créer des fonctions VBA dans Excel pour exporter (d'Excel vers un autre système d'informations) une désignation de 90 caractères en 3 désignations de 30 caractères sans couper les mots.
Exemple d'un texte à découper : A1 = "Ils doivent réaliser le découpage d'une désignation de 90 caractères en plusieurs désignat"
- Texte 1 doit avoir 30 caractères sans coupure de mots : Texte 1 = "Ils doivent réaliser le " (24 caractères) rajouter 6 blancs pour arriver à trente
- Texte 2 doit avoir 30 caractères sans coupure de mots : Texte 2 = "découpage d'une désignation de" (30 caractères)
- Texte 3 doit avoir 30 caractères avec possibilité de coupure de mots : Texte 3 = "90 caractères en plusieurs dés" (on tronque au 30 ème caractères. Dommage pour les caractères qui manquent le système n'accepte que 90 caractères au total) .
Quelqu'un connaît-il une solution ou une procédure VBA existante ?
Par avance merci
KIKSAN
Bonjour
Le code qui suit devrait te convenir :
*********************************************
Dim str1 As String
Dim str2 As String
Dim str3 As String
Function Scinder(str As String)
Dim pos As Integer
Dim intStr As Integer
For intStr = 1 To 2
pos = InStr(1, str, " ")
Do While pos > 0
If InStr(pos + 1, str, " ") <= 30 Then
pos = InStr(pos + 1, str, " ")
Else
Exit Do
End If
Loop
If intStr = 1 Then str1 = Left(str, pos)
If intStr = 2 Then str2 = Left(str, pos)
str = Mid(str, pos + 1)
Next
str3 = Left(str, 30)
End Function
*********************************************
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"KIKSAN" <b@constructeur.com> a écrit dans le message news:
0b1e01c38e5c$37add360$a401280a@phx.gbl...
Bonjour à tous,
Je dois créer des fonctions VBA dans Excel pour exporter
(d'Excel vers un autre système d'informations) une
désignation de 90 caractères en 3 désignations de 30
caractères sans couper les mots.
Exemple d'un texte à découper :
A1 = "Ils doivent réaliser le découpage d'une désignation
de 90 caractères en plusieurs désignat"
- Texte 1 doit avoir 30 caractères sans coupure de mots :
Texte 1 = "Ils doivent réaliser le " (24 caractères)
rajouter 6 blancs pour arriver à trente
- Texte 2 doit avoir 30 caractères sans coupure de mots :
Texte 2 = "découpage d'une désignation de" (30
caractères)
- Texte 3 doit avoir 30 caractères avec possibilité de
coupure de mots :
Texte 3 = "90 caractères en plusieurs dés" (on tronque
au 30 ème caractères. Dommage pour les caractères qui
manquent le système n'accepte que 90 caractères au total)
.
Quelqu'un connaît-il une solution ou une procédure VBA
existante ?
Le code qui suit devrait te convenir : ********************************************* Dim str1 As String Dim str2 As String Dim str3 As String
Function Scinder(str As String) Dim pos As Integer Dim intStr As Integer For intStr = 1 To 2 pos = InStr(1, str, " ") Do While pos > 0 If InStr(pos + 1, str, " ") <= 30 Then pos = InStr(pos + 1, str, " ") Else Exit Do End If Loop If intStr = 1 Then str1 = Left(str, pos) If intStr = 2 Then str2 = Left(str, pos) str = Mid(str, pos + 1) Next str3 = Left(str, 30) End Function ********************************************* @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "KIKSAN" a écrit dans le message news: 0b1e01c38e5c$37add360$ Bonjour à tous,
Je dois créer des fonctions VBA dans Excel pour exporter (d'Excel vers un autre système d'informations) une désignation de 90 caractères en 3 désignations de 30 caractères sans couper les mots.
Exemple d'un texte à découper : A1 = "Ils doivent réaliser le découpage d'une désignation de 90 caractères en plusieurs désignat"
- Texte 1 doit avoir 30 caractères sans coupure de mots : Texte 1 = "Ils doivent réaliser le " (24 caractères) rajouter 6 blancs pour arriver à trente
- Texte 2 doit avoir 30 caractères sans coupure de mots : Texte 2 = "découpage d'une désignation de" (30 caractères)
- Texte 3 doit avoir 30 caractères avec possibilité de coupure de mots : Texte 3 = "90 caractères en plusieurs dés" (on tronque au 30 ème caractères. Dommage pour les caractères qui manquent le système n'accepte que 90 caractères au total) .
Quelqu'un connaît-il une solution ou une procédure VBA existante ?
Par avance merci
KIKSAN
Vincent.
Salut ! C'était rigolo tout plein à écrire comme macro... Voià donc le résultat d'une réflexion intense et passionnée, en espérant que cela fera ton bonheur ;-)))) !!
-- Début du code --
Option Explicit
Sub Tronçonnage() Dim Les0, Chaîne, Bloc1, Bloc2, Bloc3 As String Les0 = " " Chaîne = "Ils doivent réaliser le découpage d'une désignation de 90 caractères en plusieurs désignat" Bloc1 = Left(Chaîne, InStrRev(Left(Chaîne, 31), " ")) Chaîne = Replace(Chaîne, Bloc1, "") Bloc1 = Left(Bloc1 & Les0, 30)
Je dois créer des fonctions VBA dans Excel pour exporter (d'Excel vers un autre système d'informations) une désignation de 90 caractères en 3 désignations de 30 caractères sans couper les mots.
Exemple d'un texte à découper : A1 = "Ils doivent réaliser le découpage d'une désignation de 90 caractères en plusieurs désignat"
- Texte 1 doit avoir 30 caractères sans coupure de mots : Texte 1 = "Ils doivent réaliser le " (24 caractères) rajouter 6 blancs pour arriver à trente
- Texte 2 doit avoir 30 caractères sans coupure de mots : Texte 2 = "découpage d'une désignation de" (30 caractères)
- Texte 3 doit avoir 30 caractères avec possibilité de coupure de mots : Texte 3 = "90 caractères en plusieurs dés" (on tronque au 30 ème caractères. Dommage pour les caractères qui manquent le système n'accepte que 90 caractères au total) ..
Quelqu'un connaît-il une solution ou une procédure VBA existante ?
Par avance merci
KIKSAN
.
Salut !
C'était rigolo tout plein à écrire comme macro... Voià
donc le résultat d'une réflexion intense et passionnée, en
espérant que cela fera ton bonheur ;-)))) !!
-- Début du code --
Option Explicit
Sub Tronçonnage()
Dim Les0, Chaîne, Bloc1, Bloc2, Bloc3 As String
Les0 = " "
Chaîne = "Ils doivent réaliser le découpage d'une
désignation de 90 caractères en plusieurs désignat"
Bloc1 = Left(Chaîne, InStrRev(Left(Chaîne, 31), " "))
Chaîne = Replace(Chaîne, Bloc1, "")
Bloc1 = Left(Bloc1 & Les0, 30)
Je dois créer des fonctions VBA dans Excel pour exporter
(d'Excel vers un autre système d'informations) une
désignation de 90 caractères en 3 désignations de 30
caractères sans couper les mots.
Exemple d'un texte à découper :
A1 = "Ils doivent réaliser le découpage d'une désignation
de 90 caractères en plusieurs désignat"
- Texte 1 doit avoir 30 caractères sans coupure de mots :
Texte 1 = "Ils doivent réaliser le " (24 caractères)
rajouter 6 blancs pour arriver à trente
- Texte 2 doit avoir 30 caractères sans coupure de mots :
Texte 2 = "découpage d'une désignation de" (30
caractères)
- Texte 3 doit avoir 30 caractères avec possibilité de
coupure de mots :
Texte 3 = "90 caractères en plusieurs dés" (on tronque
au 30 ème caractères. Dommage pour les caractères qui
manquent le système n'accepte que 90 caractères au total)
..
Quelqu'un connaît-il une solution ou une procédure VBA
existante ?
Salut ! C'était rigolo tout plein à écrire comme macro... Voià donc le résultat d'une réflexion intense et passionnée, en espérant que cela fera ton bonheur ;-)))) !!
-- Début du code --
Option Explicit
Sub Tronçonnage() Dim Les0, Chaîne, Bloc1, Bloc2, Bloc3 As String Les0 = " " Chaîne = "Ils doivent réaliser le découpage d'une désignation de 90 caractères en plusieurs désignat" Bloc1 = Left(Chaîne, InStrRev(Left(Chaîne, 31), " ")) Chaîne = Replace(Chaîne, Bloc1, "") Bloc1 = Left(Bloc1 & Les0, 30)
Je dois créer des fonctions VBA dans Excel pour exporter (d'Excel vers un autre système d'informations) une désignation de 90 caractères en 3 désignations de 30 caractères sans couper les mots.
Exemple d'un texte à découper : A1 = "Ils doivent réaliser le découpage d'une désignation de 90 caractères en plusieurs désignat"
- Texte 1 doit avoir 30 caractères sans coupure de mots : Texte 1 = "Ils doivent réaliser le " (24 caractères) rajouter 6 blancs pour arriver à trente
- Texte 2 doit avoir 30 caractères sans coupure de mots : Texte 2 = "découpage d'une désignation de" (30 caractères)
- Texte 3 doit avoir 30 caractères avec possibilité de coupure de mots : Texte 3 = "90 caractères en plusieurs dés" (on tronque au 30 ème caractères. Dommage pour les caractères qui manquent le système n'accepte que 90 caractères au total) ..
Quelqu'un connaît-il une solution ou une procédure VBA existante ?
Par avance merci
KIKSAN
.
KIKSAN
Merci Jessy
ça me convient tout à fait !! (propre et succint)
Bonne fin de journée
Cordialement
KIKSAN
-----Message d'origine----- Bonjour
Le code qui suit devrait te convenir : ********************************************* Dim str1 As String Dim str2 As String Dim str3 As String
Function Scinder(str As String) Dim pos As Integer Dim intStr As Integer For intStr = 1 To 2 pos = InStr(1, str, " ") Do While pos > 0 If InStr(pos + 1, str, " ") <= 30 Then pos = InStr(pos + 1, str, " ") Else Exit Do End If Loop If intStr = 1 Then str1 = Left(str, pos) If intStr = 2 Then str2 = Left(str, pos) str = Mid(str, pos + 1) Next str3 = Left(str, 30) End Function ********************************************* @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "KIKSAN" a écrit dans le message news:
0b1e01c38e5c$37add360$ Bonjour à tous,
Je dois créer des fonctions VBA dans Excel pour exporter (d'Excel vers un autre système d'informations) une désignation de 90 caractères en 3 désignations de 30 caractères sans couper les mots.
Exemple d'un texte à découper : A1 = "Ils doivent réaliser le découpage d'une désignation de 90 caractères en plusieurs désignat"
- Texte 1 doit avoir 30 caractères sans coupure de mots : Texte 1 = "Ils doivent réaliser le " (24 caractères) rajouter 6 blancs pour arriver à trente
- Texte 2 doit avoir 30 caractères sans coupure de mots : Texte 2 = "découpage d'une désignation de" (30 caractères)
- Texte 3 doit avoir 30 caractères avec possibilité de coupure de mots : Texte 3 = "90 caractères en plusieurs dés" (on tronque au 30 ème caractères. Dommage pour les caractères qui manquent le système n'accepte que 90 caractères au total) ..
Quelqu'un connaît-il une solution ou une procédure VBA existante ?
Par avance merci
KIKSAN
.
Merci Jessy
ça me convient tout à fait !! (propre et succint)
Bonne fin de journée
Cordialement
KIKSAN
-----Message d'origine-----
Bonjour
Le code qui suit devrait te convenir :
*********************************************
Dim str1 As String
Dim str2 As String
Dim str3 As String
Function Scinder(str As String)
Dim pos As Integer
Dim intStr As Integer
For intStr = 1 To 2
pos = InStr(1, str, " ")
Do While pos > 0
If InStr(pos + 1, str, " ") <= 30 Then
pos = InStr(pos + 1, str, " ")
Else
Exit Do
End If
Loop
If intStr = 1 Then str1 = Left(str, pos)
If intStr = 2 Then str2 = Left(str, pos)
str = Mid(str, pos + 1)
Next
str3 = Left(str, 30)
End Function
*********************************************
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"KIKSAN" <b@constructeur.com> a écrit dans le message
news:
0b1e01c38e5c$37add360$a401280a@phx.gbl...
Bonjour à tous,
Je dois créer des fonctions VBA dans Excel pour exporter
(d'Excel vers un autre système d'informations) une
désignation de 90 caractères en 3 désignations de 30
caractères sans couper les mots.
Exemple d'un texte à découper :
A1 = "Ils doivent réaliser le découpage d'une désignation
de 90 caractères en plusieurs désignat"
- Texte 1 doit avoir 30 caractères sans coupure de mots :
Texte 1 = "Ils doivent réaliser le " (24 caractères)
rajouter 6 blancs pour arriver à trente
- Texte 2 doit avoir 30 caractères sans coupure de mots :
Texte 2 = "découpage d'une désignation de" (30
caractères)
- Texte 3 doit avoir 30 caractères avec possibilité de
coupure de mots :
Texte 3 = "90 caractères en plusieurs dés" (on tronque
au 30 ème caractères. Dommage pour les caractères qui
manquent le système n'accepte que 90 caractères au total)
..
Quelqu'un connaît-il une solution ou une procédure VBA
existante ?
Le code qui suit devrait te convenir : ********************************************* Dim str1 As String Dim str2 As String Dim str3 As String
Function Scinder(str As String) Dim pos As Integer Dim intStr As Integer For intStr = 1 To 2 pos = InStr(1, str, " ") Do While pos > 0 If InStr(pos + 1, str, " ") <= 30 Then pos = InStr(pos + 1, str, " ") Else Exit Do End If Loop If intStr = 1 Then str1 = Left(str, pos) If intStr = 2 Then str2 = Left(str, pos) str = Mid(str, pos + 1) Next str3 = Left(str, 30) End Function ********************************************* @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "KIKSAN" a écrit dans le message news:
0b1e01c38e5c$37add360$ Bonjour à tous,
Je dois créer des fonctions VBA dans Excel pour exporter (d'Excel vers un autre système d'informations) une désignation de 90 caractères en 3 désignations de 30 caractères sans couper les mots.
Exemple d'un texte à découper : A1 = "Ils doivent réaliser le découpage d'une désignation de 90 caractères en plusieurs désignat"
- Texte 1 doit avoir 30 caractères sans coupure de mots : Texte 1 = "Ils doivent réaliser le " (24 caractères) rajouter 6 blancs pour arriver à trente
- Texte 2 doit avoir 30 caractères sans coupure de mots : Texte 2 = "découpage d'une désignation de" (30 caractères)
- Texte 3 doit avoir 30 caractères avec possibilité de coupure de mots : Texte 3 = "90 caractères en plusieurs dés" (on tronque au 30 ème caractères. Dommage pour les caractères qui manquent le système n'accepte que 90 caractères au total) ..
Quelqu'un connaît-il une solution ou une procédure VBA existante ?