Chaîne de caractères après caractères gras
Fermé
yoakim
-
8 août 2017 à 17:54
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 9 août 2017 à 14:17
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 9 août 2017 à 14:17
A voir également:
- Chaîne de caractères après caractères gras
- Caractères ascii - Guide
- Caractères spéciaux clavier azerty - Guide
- Caractères spéciaux - Guide
- Caractères spéciaux mac - Guide
- Exemple de mot de passe à 8 caractères - Guide
4 réponses
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
8 août 2017 à 18:32
8 août 2017 à 18:32
Bonjour Yoakim,
Avec cette fonction personnalisée :
Fonction à mettre dans un module de l'éditeur VBA (ALT+F11 pour ouvrir l'éditeur - puis Insertion - Module - copier-coller la fonction dans la page blanche et fermer l'éditeur
La fonction s'utilise avec la syntaxe =après_gras(adresse cellule à traiter), exemple : =après_gras(A1)
Cdlmnt
Via
Avec cette fonction personnalisée :
Function après_gras(plage As Range) For Each c In Range(plage, [A65000].End(xlUp)) For i = 1 To Len(c) If c.Characters(Start:=i, Length:=1).Font.Bold = True Then x = i Next Next retour = Right(plage, Len(plage) - x) après_gras = retour End Function
Fonction à mettre dans un module de l'éditeur VBA (ALT+F11 pour ouvrir l'éditeur - puis Insertion - Module - copier-coller la fonction dans la page blanche et fermer l'éditeur
La fonction s'utilise avec la syntaxe =après_gras(adresse cellule à traiter), exemple : =après_gras(A1)
Cdlmnt
Via
Bonjour Via,
Merci beaucoup pour votre aide ! La fonction a l'air top, mais ne fonctionne malheureusement pas tout à fait correctement :(
Elle n'a pas l'air de tenir compte du gras, mais me copie la cellule en ignorant seulement les 9 premiers caractères ?
Test fait sur plusieurs lignes...
Cordialement,
Yoakim
Merci beaucoup pour votre aide ! La fonction a l'air top, mais ne fonctionne malheureusement pas tout à fait correctement :(
Elle n'a pas l'air de tenir compte du gras, mais me copie la cellule en ignorant seulement les 9 premiers caractères ?
Test fait sur plusieurs lignes...
Cordialement,
Yoakim
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
Modifié le 9 août 2017 à 10:05
Modifié le 9 août 2017 à 10:05
Bonjour,
la fonction de via un peu remaniée :
Le passage de la totalité de la cellule en gras/non gras avec Ctrl+g n'est pas détecté. On pourrait y remédier en la rendant volatile, mais je trouve dommage de toutes les recalculer à la moindre action. Dans ce cas revalider la cellule.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
la fonction de via un peu remaniée :
Function après_gras(phrase As Range) Dim c As Range, i As Long, flag1 As Boolean, flag2 As Boolean For i = 1 To Len(phrase) flag1 = phrase.Characters(Start:=i, Length:=1).Font.Bold If flag1 Then flag2 = True Else If flag2 Then Exit For End If Next If flag2 Then après_gras = Mid(phrase, i) Else après_gras = "" End Function
Le passage de la totalité de la cellule en gras/non gras avec Ctrl+g n'est pas détecté. On pourrait y remédier en la rendant volatile, mais je trouve dommage de toutes les recalculer à la moindre action. Dans ce cas revalider la cellule.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
9 août 2017 à 11:33
9 août 2017 à 11:33
Parce que tu ne l'as sans doute pas mise dans un module Standard, sinon déposer le fichier.
Yoakim14360
Messages postés
2
Date d'inscription
mercredi 9 août 2017
Statut
Membre
Dernière intervention
9 août 2017
9 août 2017 à 12:11
9 août 2017 à 12:11
Merci Eriic,
Je ne vois pas, donc je dépose le fichier :)
Merci beaucoup !
Je ne vois pas, donc je dépose le fichier :)
Merci beaucoup !
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
9 août 2017 à 12:13
9 août 2017 à 12:13
le lien ?
Yoakim14360
Messages postés
2
Date d'inscription
mercredi 9 août 2017
Statut
Membre
Dernière intervention
9 août 2017
>
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
9 août 2017 à 14:00
9 août 2017 à 14:00
Désolé,
Voici le lien https://we.tl/LAN8Iq9FyB
Cordialement,
Voici le lien https://we.tl/LAN8Iq9FyB
Cordialement,
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
9 août 2017 à 14:17
9 août 2017 à 14:17
xlsx...
Si tu ne mets pas le code de la macro ça marche moins bien forcément.
Je ne comprend pas pourquoi tu l'as bien fait avec la fonction de via puisque tu l'as testée et que là tu ne le fais pas (?!?)
A voir ton fichier remplace la dernière ligne par :
(suppression des espaces inutiles)
Si tu ne mets pas le code de la macro ça marche moins bien forcément.
Je ne comprend pas pourquoi tu l'as bien fait avec la fonction de via puisque tu l'as testée et que là tu ne le fais pas (?!?)
A voir ton fichier remplace la dernière ligne par :
If flag2 Then après_gras = Application.Trim(Mid(phrase, i)) Else après_gras = ""
(suppression des espaces inutiles)