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

Séparer les caractères gras

3 réponses
Avatar
Mick
Bonjour à tous,

Je suis chargé de créer une macro pour un client mais je ne connais pas
grand chose (c'est peu de le dire!) à VBA.

Je dispose d'une feuille excel contenant 3 colonnes :

Reference Désignation Commentaire
111111 Téléphone IG 9400 blablabla
123244 Ordinateur PB 290 blablabla
...
Dans la rubrique désignation, les produits comportes parfois des caractères
en gras! Ce sont ces caractères que je doit récupérer et les incorporer dans
une quatrième colonne (Uniquement les caractères en gras).

J'ai commencé à me documenter sur les fonctions permettant de faire des
recherches de caractères afin de trouver mon premier caractère gras, puis
mon dernier et enfin pour copier le résultat dans la nouvelle colonne.
Pour l'instant je n'arrive pas à grand chose...Si vous pouviez m'indiquer le
chemin à suivre ce serait génial !

3 réponses

Avatar
Caetera
> Dans la rubrique désignation, les produits comportes parfois des caractères en
gras! Ce sont ces caractères que je doit récupérer et les incorporer dans une
quatrième colonne (Uniquement les caractères en gras).



Pour extraire de chaque chaine de la plage (nommée) "Désignation" les
caractères gras, les concaténer et les copier 4 colonnes à droite :

Sub récupGRAS()
For Each désign In Range("Désignation")
For i = 1 To Len(désign)
If désign.Characters(i, 1).Font.Bold Then x = x & Mid(désign,
i, 1)
Next i
désign.Offset(0, 4).Value = x
x = ""
Next désign
End Sub

Etc
Avatar
JB
Bonsoir,

Dans un module:

Function extraitGras(c)
Application.Volatile
For i = 1 To Len(c)
If c.Characters(Start:=i, Length:=1).Font.Bold = True Then
temp = temp & Mid(c, i, 1)
End If
Next i
extraitGras = temp
End Function

JB
http://boisgontierjacques.free.fr

On 26 oct, 17:19, "Mick" wrote:
Bonjour à tous,

Je suis chargé de créer une macro pour un client mais je ne connais p as
grand chose (c'est peu de le dire!) à VBA.

Je dispose d'une feuille excel contenant 3 colonnes :

Reference    Désignation                    Com mentaire
111111        Téléphone IG 9400        blablabla
123244        Ordinateur PB 290         blablabla
...
Dans la rubrique désignation, les produits comportes parfois des caract ères
en gras! Ce sont ces caractères que je doit récupérer et les incorp orer dans
une quatrième colonne (Uniquement les caractères en gras).

J'ai commencé à me documenter sur les fonctions permettant de faire d es
recherches de caractères afin de trouver mon premier caractère gras, puis
mon dernier et enfin pour copier le résultat dans la nouvelle colonne.
Pour l'instant je n'arrive pas à grand chose...Si vous pouviez m'indiqu er le
chemin à suivre ce serait génial !


Avatar
Mick
Merci pour vos réponses ça fonctionne très bien grâce à cette solution :

Sub test()
Dim c As Range
For Each c In Range("B2", Range("B65536").End(xlUp))
For i = 1 To Len(c.Value)
If c.Characters(i, 1).Font.Bold = True Then
c.Offset(, 2).Value = c.Offset(, 2).Value & Mid(c, i, 1)
End If
Next i
Next c
End Sub

Encore merci

"JB" wrote:

Bonsoir,

Dans un module:

Function extraitGras(c)
Application.Volatile
For i = 1 To Len(c)
If c.Characters(Start:=i, Length:=1).Font.Bold = True Then
temp = temp & Mid(c, i, 1)
End If
Next i
extraitGras = temp
End Function

JB
http://boisgontierjacques.free.fr

On 26 oct, 17:19, "Mick" wrote:
> Bonjour à tous,
>
> Je suis chargé de créer une macro pour un client mais je ne connais pas
> grand chose (c'est peu de le dire!) à VBA.
>
> Je dispose d'une feuille excel contenant 3 colonnes :
>
> Reference Désignation Commentaire
> 111111 Téléphone IG 9400 blablabla
> 123244 Ordinateur PB 290 blablabla
> ...
> Dans la rubrique désignation, les produits comportes parfois des caractères
> en gras! Ce sont ces caractères que je doit récupérer et les incorporer dans
> une quatrième colonne (Uniquement les caractères en gras).
>
> J'ai commencé à me documenter sur les fonctions permettant de faire des
> recherches de caractères afin de trouver mon premier caractère gras, puis
> mon dernier et enfin pour copier le résultat dans la nouvelle colonne.
> Pour l'instant je n'arrive pas à grand chose...Si vous pouviez m'indiquer le
> chemin à suivre ce serait génial !

.