Variable dans une formule

Bonjour,

Je souhaiterai savoir comment rendre variable le texte "17 0094" dans mon VBA? ci-dessous un extrait:

End With

With Application.ReplaceFormat.Font

.FontStyle = "Gras"

.Subscript = False

.TintAndShade = 0

End With

Selection.Replace What:="17 0094", Replacement:="17 0094", LookAt:=xlPart _

, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

ReplaceFormat:=True

With Application.FindFormat.Font

.FontStyle = "Gras"

.Subscript = False

.TintAndShade = 0

End With

Bonjour,

ce texte est deux fois dans ton code ...

de plus c'est bien jolie de remplacer ce texte par une variable, mais comment renseigne tu ta variable ??

Dim stMachaine as string 
stMachaine ="17 0094"
With Application.ReplaceFormat.Font
.FontStyle = "Gras"
.Subscript = False
.TintAndShade = 0
End With
Selection.Replace What:=stMachaine , Replacement:=stMachaine , LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=True
With Application.FindFormat.Font
.FontStyle = "Gras"
.Subscript = False
.TintAndShade = 0
End With

Merci pour ton retour.

J’avoue je suis complètement amateur.

Je voulais enfaîte rechercher dans mon Excel tous les Cellules comportent un texte "x" et de mettre en gras ces cellules.

Dans mon code le texte est "17 0094" mais je souhaiterai que ce texte soit variable.

oui mais variable comment ?

C'est a dire que des fois,au lieu d'avoir 17 0094 tout le temps, ça pourrait être d'autre nombre, comme 17 0052 ou 17 0038 par exemple.

et je voudrais qu'avant chaque exécution du macro, excel me demande quelle nombre je souhaiterai mettre.

Bonsoir, Salut pierre-jy !

Pas clair, et complètement tortueux !

Sub TonyX()
    Dim tx$, plg As Range, c As Range
    tx = "17 0094"
    plg = ActiveSheet.UsedRange
    tx = "*" & tx & "*"
    Application.ScreenUpdating = False
    For Each c In plg
        If c Like tx Then c.Font.Bold = True
    Next c
End Sub

Si l'objectif est de mettre en gras sur un critère, on teste le critère et met en gras si condition vraie ! Inutile d'aller muser n'importe où au gré des vents !

MFerrand a écrit :

Bonsoir, Salut pierre-jy !

Pas clair, et complètement tortueux !

Si l'objectif est de mettre en gras sur un critère, on teste le critère et met en gras si condition vraie ! Inutile d'aller muser n'importe où au gré des vents !

Bonjour,

Non relis la question...l'objectif est de remplacer du texte par une variable..tu est hors sujet;)

Et si tu relis bien tu verrasvqueble code n'est pas de moi..

Salut Pierre-jy !

D'abord mon "Pas clair, etc." ne concernait évidemment pas tes propos, je le précise au cas où..., mais la question du demandeur.

J'ai bien compris la question posée, et qu'elle était destinée à pouvoir faire varier le texte cherché... ce qui en soi ne présente aucune difficulté et peut se régler de diverses façons dans le contexte.

En filigrane, il s'agit de pouvoir traiter les cellules d'une plage non déterminée contenant ce texte... J'ai donc considéré que la question venant au premier plan était celle du traitement et qu'il convenait en priorité de faire le ménage de cet invraisemblable code, ensuite de quoi les questions connexes se révèleraient dans leur simplicité...

Pour plus de clarté, je reformule donc ma réponse pour la rendre plus générique :

Sub TonyX(plg A Range, tx As String)
    Dim c As Range
    tx = "*" & tx & "*"
    Application.ScreenUpdating = False
    plg.Font.Bold = False
    For Each c In plg
        If c Like tx Then c.Font.Bold = True
    Next c
End Sub

Voilà ! Le traitement est isolé dans une procédure tout à fait autonome. Et il se trouve ramené à ce en quoi il est exprimé dans la question.

Cette procédure attend 2 arguments : la plage sur laquelle agir, le texte cherché. Leur caractère variable est présent par définition. Il ne reste plus à l'intéressé qu'à fournir les éléments du contexte dans lequel ces précisions doivent être apportées : à partir de quelle procédure existante (à modifier ou compléter en ce sens), ou quelle procédure à créer (lancée comment ? dans quelle situation ?)

Cordialement.

Rechercher des sujets similaires à "variable formule"