Modifier la police de caractères des articles

Bonjour à tous,

je souhaite une macro pour changer la police de caractères des articles

En clair :

1) Dans un fichier, j'ai une colonne contenant des mots en calibri 14

2) Certains de ces mots sont précédés d'articles (Le, la, etc)

3) Je souhaite mettre ces articles en calibri 11

4) je joins un fichier pour montrer ce que je souhaite.

Merci à toutes les bonnes volontés

14exemple.xlsx (9.87 Ko)

Salut WebNet,

quelque chose comme ça ?

Private Sub Worksheet_Change(ByVal Target As Range)
'
If UBound(Split(Target, " ")) > 0 Then Target.Characters(1, Len(Split(Target, " ")(0))).Font.Size = 11
'
End Sub

A+

Ave curulis57,

Désolé, je ne comprends pas ce qu'il faut que je fasse de ce que tu m'as envoyé !

ce que je souhaite, c'est une macro que je pourrais insérer grâce à visual basic...

Merci tout de même.

Bonjour le forum

Bonjour WebNet, curulis57

Notre ami désire une macro qui modifie le texte déjà existant.

A placer dans un module standard :

Sub colibri()
With Worksheets("feuil1").Range("A:A")   ' ==> à adapter
.Font.Size = 11
.Font.Name = "colibri"
End With
End Sub

Remarque que tu peux placer le code de notre ami curulis57 dans le code de TA feuille sous VBE. Ainsi,à chaque nouvelle saisie, ton texte sera automatiquement converti.

@+ Ericcool02

Bonjour Ericcool02,

Pas exactement : je souhaite changer la police SEULEMENT des articles (Le, La, Un, Une, les, Des) contenus dans certaines cellules, dans la même colonne, comme je le montre dans mon fichier "exemple.xlsx".

Merci quand même

et toujours au début de la cellule.

Bonjour

modification de la macro curulis57 qui marche bien

a mettre dans un module

Sub Test()
    For L = 4 To 11
        If UBound(Split(Range("A" & L), " ")) > 0 Then
            Range("A" & L).Characters(1, Len(Split(Range("A" & L), " ")(0))).Font.Size = 11
        End If
    Next L
End Sub

A+

Maurice

Bonjour Maurice,

j'ai mis la macro telle quelle dans un module, mais il ne se passe rien...

Je suppose que je dois l'adapter (ce que je subodorais déjà avec la macro de curulis57, que je remercie au passage), mais j'en suis incapable!!!

Mes connaissances en Visual Basic étant proches du zéro absolu : je me contente de me servir de l'enregistreur de macros...

D'ailleurs j'apprécierais fort un conseil pour un bouquin d'initiation à Visual Basic qui soit à ma portée.

Merci pour l'intérêt que tu portes à mon problème.

Mille excuses , Maurice,

En fait il se passe bien quelque chose, mais ce n'est pas exactement ce que j'attendais : la macro que vous avez bien voulu concocter curulis57 et toi change en calibri 11 le mot avant la première espace.

Mais ce que je souhaite, c'est qu'elle ne le fasse que pour les mots (articles) suivants :

Le, La Les, L', Un, Une, Des, tous placés en début de cellule (Mais toutes les cellules n'en ont pas).

Est-ce possible avec une macro ?

Salut WebNet,

Salut l'équipe,

devant vos difficultés, je me suis fendu de parfaire l'exercice.

Les macros agissent dans n'importe quelle colonne (pas vraiment eu de précisions à ce niveau) :

  • soit dès un changement dans une cellule ;
  • soit via un double-clic dans la colonne à traiter.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim sCol$, iRow%
'
Cancel = True
sCol = Split(Columns(Target.Column).Address(ColumnAbsolute:=False), ":")(1)
For iRow = 1 To Range(sCol & Rows.Count).End(xlUp).Row
    If UBound(Split(Range(sCol & iRow).Value, " ")) > 0 Then Range(sCol & iRow).Characters(1, Len(Split(Range(sCol & iRow).Value, " ")(0))).Font.Size = 11
    If Mid(Range(sCol & iRow).Value, 2, 1) = "'" Then Range(sCol & iRow).Characters(1, 2).Font.Size = 11
Next
'
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
'
If UBound(Split(Target, " ")) > 0 Then Target.Characters(1, Len(Split(Target, " ")(0))).Font.Size = 11
If Mid(Target, 2, 1) = "'" Then Target.Characters(1, 2).Font.Size = 11
'
End Sub

A tester pour d'éventuelles améliorations...

A+

11webnet.xlsm (16.93 Ko)

Salut curulis47,

Un grand merci pour la peine que tu te donnes pour moi.

Je teste ta macro dans la soirée et je te tiens au courant.

A charge de revanche dans le domaine qui est le mien, si le coeur t'en dit (Je suis professeur de philosophie).

Merci encore

Ah, M... je me suis trompé de nombre !

Merci donc, curulis57

Ave curulis57

J'ai essayé ta macro sur un bout de fichier, mais elle ne marche que partiellement

Je joins mon bout de fichier pour que tu puisses constater.

Encore merci de te prendre la tête pour résoudre ce problème.

7exemple-2.xlsm (12.45 Ko)

Salut WebNet,

évidemment, avec un fichier qui ressemble à autre chose que le fichier-exemple, hein !?

Les macros agissent dans la colonne [B:B] uniquement :

  • soit dès un changement dans une cellule ;
  • soit via un double-clic n'importe où pour traiter la colonne entière.
Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim tArt(), iRow%, iIdx%
'
iRow = Target.Row
Target.Font.Size = 16
tArt = Array("Le", "La", "Les", "Un", "Une", "Des")
'
If UBound(Split(Target, " ")) > 0 Then
    For x = 0 To 5
        If Split(Target, " ")(0) = tArt(x) Then iIdx = Len(Split(Target, " ")(0))
    Next
End If
If Mid(Target, 1, 2) = "L'" Then iIdx = 2
If iIdx > 0 Then Target.Characters(1, iIdx).Font.Size = 11
'
End Sub

A+

22webnet.xlsm (18.79 Ko)

Bien joué, Curulis57

Cela marche impec. Merci beaucoup.

Il est vrai que mon premier fichier était plutôt sommaire, mais il me semblait explicite...

Bonjour le fil,

@ curulis57. Très beau code . Comment se fait il que je ne puisse ajouter d'article "Au" par exemple dans le "Array". Il se trouve qu'il n'est pas pris en compte ? Aurais je loupé quelque chose ? Cordialement

Salut WebNet,

Salut Ericcool,

@WebNet : j'imagine que tu pourras adapter l'affichage sur ton fichier de travail ?

@Ericcool : as-tu pensé à adapter la boucle FOR ? 0 To 5 -> 0 To 6...

A+

Bonjour

au plus simple Changer For x = 0 To 5

par

    For x = LBound(tArt) To UBound(tArt)

A+

Maurice

Re le fil,

Ah la burne que je suis ......

Re le fil,

Ah la burne que je suis ......

Rechercher des sujets similaires à "modifier police caracteres articles"