Modifier la mise en forme dans un cellule

Résolu/Fermé
marieferie Messages postés 11 Date d'inscription samedi 28 juin 2014 Statut Membre Dernière intervention 29 juin 2014 - 28 juin 2014 à 14:05
marieferie Messages postés 11 Date d'inscription samedi 28 juin 2014 Statut Membre Dernière intervention 29 juin 2014 - 29 juin 2014 à 18:36
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.
A voir également:

3 réponses

via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
28 juin 2014 à 15:04
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
1
marieferie Messages postés 11 Date d'inscription samedi 28 juin 2014 Statut Membre Dernière intervention 29 juin 2014
28 juin 2014 à 17:12
Juste une petite remarque Via55. Je m'aperçois que la toute dernière lettre reste en gras.
y aurait-il un moyen de mettre l'ensemble du texte (jusqu'à la dernière lettre) après les : en non gras. MERCI !
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
Modifié par via55 le 28/06/2014 à 17:26
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
0
marieferie Messages postés 11 Date d'inscription samedi 28 juin 2014 Statut Membre Dernière intervention 29 juin 2014
29 juin 2014 à 00:30
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
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
29 juin 2014 à 01:34
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
0
marieferie Messages postés 11 Date d'inscription samedi 28 juin 2014 Statut Membre Dernière intervention 29 juin 2014
29 juin 2014 à 11:15
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.
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
28 juin 2014 à 14:35
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
0
marieferie Messages postés 11 Date d'inscription samedi 28 juin 2014 Statut Membre Dernière intervention 29 juin 2014
28 juin 2014 à 17:15
Je tente juste d'être la plus explicite possible. C'est pourquoi l'exemple ;) J'en conviens pas forcément tjrs nécessaire.
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
29 juin 2014 à 18:29
Et parce que la question est flou, on demande des explications pour ne pas répondre à côté on hérite d'un moins un
Drôle de mentalité, je m'en souviendrais
0
marieferie Messages postés 11 Date d'inscription samedi 28 juin 2014 Statut Membre Dernière intervention 29 juin 2014
Modifié par marieferie le 29/06/2014 à 18:38
Ah non désolé, j'ai pensé que le - signifiait que le commentaire n'avait pas d'intérêt particulier pour la réponse.
Je ne pensais pas qu'il pouvait avoir une incidence quelconque pour toi... il est retiré :)
Bonne soirée.
Marie.
0
marieferie Messages postés 11 Date d'inscription samedi 28 juin 2014 Statut Membre Dernière intervention 29 juin 2014
28 juin 2014 à 17:30
C'était pas bien méchant comme erreur à +1 près ;)

Merci bcp, je vais la tester au plus vite !


--
0