Problème Formule MACRO

Bonjour,

J'utilise une MACRO qui doit me permettre de mettre en gras le libélé XX (colonne L) dans la colonne descriptif (colonne R).

Cependant, lorsque je l'execute, toute ma cellulle se met en gras.

Debutant, je ne vois pas très bien où se situe le problème ....

Je vous mets en pièce jointe le fichier.

17test.xlsb (167.29 Ko)

Bonjour,

Place cette ligne juste après le Dim de la macro

Columns("R:R").Font.Bold = False

Bonjour,

N'étant pas expert en Macro non plus, j'ai utilisé l'enregistreur de macro pour voir comment Excel mettait en gras seulement quelques caracteres au lieu de toute la cellule.

J'ai eu ce code :

Sub Macro1()

'

' Macro1 Macro

'

'

Range("Q55").Select

ActiveCell.FormulaR1C1 = "test pouet"

With ActiveCell.Characters(Start:=1, Length:=0).Font

.Name = "Arial"

.FontStyle = "Normal"

.Size = 10

.Strikethrough = False

.Superscript = False

.Subscript = False

.OutlineFont = False

.Shadow = False

.Underline = xlUnderlineStyleNone

.ColorIndex = xlAutomatic

.TintAndShade = 0

.ThemeFont = xlThemeFontNone

End With

With ActiveCell.Characters(Start:=1, Length:=4).Font

.Name = "Arial"

.FontStyle = "Negrita"

.Size = 10

.Strikethrough = False

.Superscript = False

.Subscript = False

.OutlineFont = False

.Shadow = False

.Underline = xlUnderlineStyleNone

.ColorIndex = xlAutomatic

.TintAndShade = 0

.ThemeFont = xlThemeFontNone

End With

With ActiveCell.Characters(Start:=5, Length:=7).Font

.Name = "Arial"

.FontStyle = "Normal"

.Size = 10

.Strikethrough = False

.Superscript = False

.Subscript = False

.OutlineFont = False

.Shadow = False

.Underline = xlUnderlineStyleNone

.ColorIndex = xlAutomatic

.TintAndShade = 0

.ThemeFont = xlThemeFontNone

End With

Range("R55").Select

End Sub

En clair pour moi il faut juste retenir ce qui est en rouge,

Ce qui te donnerait ça :

Sub Macro1()

'

' Macro1 Macro

'

'

Range("Q55").Select

With ActiveCell.Characters(Start:=1, Length:=4).Font

.FontStyle = "Negrita"

End With

End Sub

Maintenant, ce dont tu vas avoir besoin pour rendre ça automatique :

pour la valeur de Start : la position du libellé XX dans ta cellule

pour la valeur de Length : la longueur de ton libellé

Tu peux trouver des fonctions te donnant ces valeurs sur internet (fonction de texte VBA).

Attention toutefois, dans mon programme j'ai negrita car je suis sur une versión expagnole d'Excel, il faudra peut-être remplacer par la valeur française.

Bonne chance

4copie-de-test.xlsb (164.44 Ko)

Je te remercie pour ton aide !

Mon libéllé change de longueur, c'est pourquoi je n'ai pas pu utiliser le mode enregistrer les macros ....

Avant ma formule fonctionnait, mais j'ai un peu changé la configuration de mon fichier depuis, je pense surtout qu'il s'agit d'erreur dans le numéro des variables et non la formule.

A mon avis l'erreur vient de ce qui est en couleur, mais ne maitrisant pas tout, je ne sais pas quoi changer...

Sub Mettre_en_g()

'

' Mettre_en_g Macro

'

Dim K, Tx, Tx0$, n%, i%, j%

Tx0 = Chr(10) & "Gencod commande: " & Chr(10) & "Code interne: " & Chr(10) & "DLC: "

K = Array(12, 8, 7, 9)

Application.EnableEvents = False

With Worksheets("Feuil1")

n = .Cells(.Rows.Count, 12).End(xlUp).Row

Application.ScreenUpdating = False

For i = 6 To n

Tx = Split(Tx0, Chr(10))

For j = 0 To 3

If .Cells(i, K(j)) <> "" Then

Tx(j) = Tx(j) & .Cells(i, K(j))

Else

Tx = Empty: Exit For

End If

Next j

If Not IsEmpty(Tx) Then

Tx = Join(Tx, Chr(10)): j = Len(.Cells(i, 12))

With .Cells(i, 18)

.Value = Tx

.Characters(1, j).Font.Bold = True

End With

End If

Next i

End With

'

End Sub

Bonjour,

Alors j'ai testé ton programme, il fonctionne chez moi, il ne met que le texte XX en gras.

En revanche ce qu'il ne fait pas, c'est enlever le gras de la cellule pour ne mettre que ces caracteres en gras, si tout ton texte est en gras, tout ton texte restera en gras, je te conseille d'utiliser le code de M12

Columns("R:R").Font.Bold = False

Si tu enlève le gras avant de faire quoi que ce soit, tu pourras voir uniquement les caracteres que tu veux en gras.

Je n'avais pas vu le message de M12 ! Parfait, ça fonctionne !!

Merci à vous 2 !

Bonjour

Voir ce lien pour ton problème

A+

Maurice

Rechercher des sujets similaires à "probleme formule macro"