Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Couper le contenu d'une cellule

3 réponses
Avatar
Projeteur08
Bonjour à toutes et tous,

Voila mon pb, je souhaite remplir automatiquement des fond de page prédéfini
à partir d'un tableau Excel. Mon soucis est que la mise en page des
différents documents n'est pas la même.
Je recherche donc le moyen en VBA de couper le texte contenu dans une
cellule devant le premier mot (complet) qui suis le Nème caractère.

par exemple la pharse:
remplacer tête H par tête cylindrique et matière Acier 4.8 par S300-Pb.

deviendra :
remplacer tête H par tête cylindrique (dans une cellule)
et matière Acier 4.8 par S300-Pb (dans une autre cellule)

Si j'utilise du code de ce style, je me retrouve avec des mots couper.
Sheets("Feuil1").Range("A34").Value = Left(description_modif_2, 120)

Merci de m'aider.
--
Projeteur08

3 réponses

Avatar
Daniel.C
Bonjour.
Essaie :

Sub test()
coupure = 35
chaine = "remplacer tête H par tête cylindrique et matière Acier 4.8 par
S300-Pb"
Var = InStr(coupure, chaine, " ")
MsgBox = Left(chaine, Var - 1)
MsgBox = Right(chaine, Len(chaine) - Var)
End Sub

Cordialement.
Daniel
"Projeteur08" a écrit dans le
message de news:
Bonjour à toutes et tous,

Voila mon pb, je souhaite remplir automatiquement des fond de page
prédéfini
à partir d'un tableau Excel. Mon soucis est que la mise en page des
différents documents n'est pas la même.
Je recherche donc le moyen en VBA de couper le texte contenu dans une
cellule devant le premier mot (complet) qui suis le Nème caractère.

par exemple la pharse:
remplacer tête H par tête cylindrique et matière Acier 4.8 par S300-Pb.

deviendra :
remplacer tête H par tête cylindrique (dans une cellule)
et matière Acier 4.8 par S300-Pb (dans une autre cellule)

Si j'utilise du code de ce style, je me retrouve avec des mots couper.
Sheets("Feuil1").Range("A34").Value = Left(description_modif_2, 120)

Merci de m'aider.
--
Projeteur08


Avatar
Daniel.C
Outre les signes "=" devant les msgbox, la procéure coupe après le nombre de
caractères.
Essaie plutôt :

Sub test()
coupure = 40
chaine = "remplacer tête H par tête cylindrique et matière Acier 4.8 par
S300-Pb"
Var = InStrRev(chaine, " ", coupure)
MsgBox Left(chaine, Var - 1)
MsgBox Right(chaine, Len(chaine) - Var)
End Sub

Daniel
"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie :

Sub test()
coupure = 35
chaine = "remplacer tête H par tête cylindrique et matière Acier 4.8 par
S300-Pb"
Var = InStr(coupure, chaine, " ")
MsgBox = Left(chaine, Var - 1)
MsgBox = Right(chaine, Len(chaine) - Var)
End Sub

Cordialement.
Daniel
"Projeteur08" a écrit dans le
message de news:
Bonjour à toutes et tous,

Voila mon pb, je souhaite remplir automatiquement des fond de page
prédéfini
à partir d'un tableau Excel. Mon soucis est que la mise en page des
différents documents n'est pas la même.
Je recherche donc le moyen en VBA de couper le texte contenu dans une
cellule devant le premier mot (complet) qui suis le Nème caractère.

par exemple la pharse:
remplacer tête H par tête cylindrique et matière Acier 4.8 par S300-Pb.

deviendra :
remplacer tête H par tête cylindrique (dans une cellule)
et matière Acier 4.8 par S300-Pb (dans une autre cellule)

Si j'utilise du code de ce style, je me retrouve avec des mots couper.
Sheets("Feuil1").Range("A34").Value = Left(description_modif_2, 120)

Merci de m'aider.
--
Projeteur08






Avatar
Projeteur08
Bonjour Daniel C.

Un grand merci a toi.
Ta solution correspond a mon besoin.
Il me suffit d'affiner la valeur de "coupure"

encore une fois merci.

--
Projeteur08



Outre les signes "=" devant les msgbox, la procéure coupe après le nombre de
caractères.
Essaie plutôt :

Sub test()
coupure = 40
chaine = "remplacer tête H par tête cylindrique et matière Acier 4.8 par
S300-Pb"
Var = InStrRev(chaine, " ", coupure)
MsgBox Left(chaine, Var - 1)
MsgBox Right(chaine, Len(chaine) - Var)
End Sub

Daniel
"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie :

Sub test()
coupure = 35
chaine = "remplacer tête H par tête cylindrique et matière Acier 4.8 par
S300-Pb"
Var = InStr(coupure, chaine, " ")
MsgBox = Left(chaine, Var - 1)
MsgBox = Right(chaine, Len(chaine) - Var)
End Sub

Cordialement.
Daniel
"Projeteur08" a écrit dans le
message de news:
Bonjour à toutes et tous,

Voila mon pb, je souhaite remplir automatiquement des fond de page
prédéfini
à partir d'un tableau Excel. Mon soucis est que la mise en page des
différents documents n'est pas la même.
Je recherche donc le moyen en VBA de couper le texte contenu dans une
cellule devant le premier mot (complet) qui suis le Nème caractère.

par exemple la pharse:
remplacer tête H par tête cylindrique et matière Acier 4.8 par S300-Pb.

deviendra :
remplacer tête H par tête cylindrique (dans une cellule)
et matière Acier 4.8 par S300-Pb (dans une autre cellule)

Si j'utilise du code de ce style, je me retrouve avec des mots couper.
Sheets("Feuil1").Range("A34").Value = Left(description_modif_2, 120)

Merci de m'aider.
--
Projeteur08