Modifier la mise en forme dans un cellule
Résolu
marieferie
Messages postés
13
Statut
Membre
-
marieferie Messages postés 13 Statut Membre -
marieferie Messages postés 13 Statut Membre -
Bonjour,
Je souhaite obtenir la fonction suivant :
sur l'ensemble d'un fichier excel dès que l'on rencontre la ponctuation "deux points" passer le texte en non gras.
exemple :
texte texte : test test test...
texte texte texte : test test
...
Je pense qu'une macro pourrait m'aider à gagner du temps !
D'avance merci pour vos retour.
Je souhaite obtenir la fonction suivant :
sur l'ensemble d'un fichier excel dès que l'on rencontre la ponctuation "deux points" passer le texte en non gras.
exemple :
texte texte : test test test...
texte texte texte : test test
...
Je pense qu'une macro pourrait m'aider à gagner du temps !
D'avance merci pour vos retour.
3 réponses
-
Rebonjour
Macro à mettre dans le worksheet de la feuille à traiter :
Sub normal()
Dim c As Range
For Each c In ActiveSheet.UsedRange
If InStr(c, ":") > 0 Then
lg = Len(c.Value)
c.Characters(Start:=InStr(c, ":"), Length:=lg - InStr(c, ":")).Font.FontStyle = "Normal"
End If
Next
End Sub
Cdlmnt
-
-
Oh dsl petite erreur de transcription
modifier ainsi la lige 5 de la macro :
c.Characters(Start:=InStr(c, ":"), Length:=lg - InStr(c, ":") + 1).Font.FontStyle = "Normal"
ou
c.Characters(Start:=InStr(c, ":")+1, Length:=lg - InStr(c, ":")).Font.FontStyle = "Normal" si tu veux que les : restent en gras
Cdlmnt -
Voilà Via55, je viens de tester et la macro fonctionne très bien jusqu'au bout sur une feuille.
Peut-on obtenir le même résultat sur l'ensemble d'un classeur (j'ai tenté en sélectionnant plusieurs onglets en même temps puis en sélectionnant une zone avec plusieurs onglets) mais la requête ne passe pas, elle reste sur la feuille active.
Existerait-il une possibilité ? Si oui, je suis preneuse ;)
Merci beaucoup !!
Marie -
Oui ça ne fonctionne que sur une feuille parce que je t'avais dit de mettre la macro dans le Worksheet de la feuille à traiter ,
mais si tu veux que la macro soit disponible dans tout le classeur il suffit de la mettre dans un Module tout simplement (Insertion Module dans l'Editeur VBA), après elle s'appliquera dans la feuille à partir de laquelle tu la lanceras
Si au contraire tu veux qu'elle s'applique automatiquement à TOUTES les feuilles du classeur dès son lancement, il faut toujours la mettre dans un module puis la modifier ainsi en rajoutant ces lignes après celle Dim C..:
For n= 1 to Sheets.Count
Sheets(n).Select
puis rajouter un Next n avant le End sub
Cdlmnt -
Bonjour Via55,
Je découvre avec toi l'action dans un classeur. J'ai tenté de placer le code dans un module de l'Editeur VBA mais je dois mal faire... la fonction s'applique trjs et uniquement au bouton de la feuille active.
Si tu le veux bien, je te laisse ma maquette pour que tu regardes.
https://www.cjoint.com/?0FDlnXxlHVF
D'avance merci.
Bon dimanche !
Marie.
-
-
Bonjour,
Pas forcement besoin d'une macro mais faudrait il comprendre la demande, et dans les explication quel est la différence
exemple :
texte texte : test test test...
texte texte texte : test test
-
C'était pas bien méchant comme erreur à +1 près ;)
Merci bcp, je vais la tester au plus vite !
--