MFC partie de texte
Fermé
Mabelle60
Messages postés
468
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
21 juin 2017
-
Modifié par Mabelle60 le 20/05/2016 à 10:45
Mabelle60 Messages postés 468 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017 - 27 mai 2016 à 22:25
Mabelle60 Messages postés 468 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017 - 27 mai 2016 à 22:25
A voir également:
- MFC partie de texte
- Excel cellule couleur si condition texte - Guide
- Transcription audio en texte word gratuit - Guide
- Excel si cellule contient partie texte ✓ - Forum Excel
- Si cellule contient texte alors ✓ - Forum Excel
- Convertisseur récupération de texte - Guide
2 réponses
Arkana0
Messages postés
4399
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
20 mai 2016 à 11:22
20 mai 2016 à 11:22
Bonjour,
Pour résoudre une partie du problème, n'oublie pas que tu peux enregistrer en macro des opérations que tu fais manuellement.
C'est ce que je ferais pour la modification partielle de format et en recherchant via Ctrl+F les caractères "[" et "]"
Pour résoudre une partie du problème, n'oublie pas que tu peux enregistrer en macro des opérations que tu fais manuellement.
C'est ce que je ferais pour la modification partielle de format et en recherchant via Ctrl+F les caractères "[" et "]"
via55
Messages postés
14496
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
22 novembre 2024
2 735
20 mai 2016 à 17:54
20 mai 2016 à 17:54
Bonjour Mabelle
Exemple de macro à adapter à tes besoins
Cdlmnt
Via
Exemple de macro à adapter à tes besoins
Sub crochets() Dim c As Range On Error Resume Next ' gestion de l'erreur pas de [] dans la cellule - passe à la suivante For Each c In sheets("FICHE").Range("A1:Y200") 'plage à traiter A ADAPTER deb = Application.WorksheetFunction.Search("[", c) ' emplacement du 1er crochet fin = Application.WorksheetFunction.Search("]", c) ' emplacement du 2eme crochet With c.Characters(Start:=deb, Length:=fin - deb + 1).Font ' selection des caractères entre crochets, crochets compris .FontStyle = "Gras" ' met en gras .Color = -16776961 ' met en rouge End With Next c End Sub
Cdlmnt
Via
Mabelle60
Messages postés
468
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
21 juin 2017
130
Modifié par Mabelle60 le 25/05/2016 à 22:44
Modifié par Mabelle60 le 25/05/2016 à 22:44
Bonjour et Merci Via55 pour le temps consacré à mon pb.
et désolé pour le tps de réponse mais occupé à autre chose entre temps..
1 bonne nouvelle et 1 moins bonne
la bonne, c'est que, effectivement le texte entre crochet dans mes cellules est bien passé en rouge et gras
La moins bonne c'est, que de manière aléatoire, j'ai d'autres cellules qui vont avoir tout ou partie du texte qui passe en rouge et gras (totalement pour les formats date ou nombre) et en partie pour le texte.
Tantôt la première lettre, tantôt un groupe de lettres au milieu ou à la fin de mon texte...
Comme je sais dans quelles cellules je peux potentiellement avoir des '[' & ']' ,je vais essayer d'adapter avec un range(mes cellules) histoire de voir si ça passe mieux..
et désolé pour le tps de réponse mais occupé à autre chose entre temps..
1 bonne nouvelle et 1 moins bonne
la bonne, c'est que, effectivement le texte entre crochet dans mes cellules est bien passé en rouge et gras
La moins bonne c'est, que de manière aléatoire, j'ai d'autres cellules qui vont avoir tout ou partie du texte qui passe en rouge et gras (totalement pour les formats date ou nombre) et en partie pour le texte.
Tantôt la première lettre, tantôt un groupe de lettres au milieu ou à la fin de mon texte...
Comme je sais dans quelles cellules je peux potentiellement avoir des '[' & ']' ,je vais essayer d'adapter avec un range(mes cellules) histoire de voir si ça passe mieux..
Mabelle60
Messages postés
468
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
21 juin 2017
130
Modifié par Mabelle60 le 26/05/2016 à 12:40
Modifié par Mabelle60 le 26/05/2016 à 12:40
Bonjour Via55
Donc pour reprendre ...
je suis parvenu à intégrer la plage dédiée dans le Range... Pas compliqué.
Si il n'y a pas de crochets dans ma cellule, automatiquement la première lettre en gras et rouge.
A partir du moment ou la macro trouve un crochet, 2 options:
Option 1 elle trouve des crochets et là ça fonctionne, elle réévalue deb et fin
Option 2 elle ne trouve pas de crochets et elle applique la même valeur de deb et fin à la cellule suivante.
Comme le crochet ne peux jamais être en début de phrase, je vais essayer d'intercaler une fonction if.
Donc pour reprendre ...
je suis parvenu à intégrer la plage dédiée dans le Range... Pas compliqué.
Si il n'y a pas de crochets dans ma cellule, automatiquement la première lettre en gras et rouge.
A partir du moment ou la macro trouve un crochet, 2 options:
Option 1 elle trouve des crochets et là ça fonctionne, elle réévalue deb et fin
Option 2 elle ne trouve pas de crochets et elle applique la même valeur de deb et fin à la cellule suivante.
Comme le crochet ne peux jamais être en début de phrase, je vais essayer d'intercaler une fonction if.
via55
Messages postés
14496
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
22 novembre 2024
2 735
>
Mabelle60
Messages postés
468
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
21 juin 2017
Modifié par via55 le 26/05/2016 à 13:19
Modifié par via55 le 26/05/2016 à 13:19
Bonjour Mabelle
Oui tu peux mettre par exemple un If deb>1 Then avant le With (et le End If après le End with)
Cdlmnt
Via
Oui tu peux mettre par exemple un If deb>1 Then avant le With (et le End If après le End with)
Cdlmnt
Via
Mabelle60
Messages postés
468
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
21 juin 2017
130
27 mai 2016 à 22:25
27 mai 2016 à 22:25
Bonjour Via55
Bon en fait, le If...end if n'a rien changé. Effectivement, je n'avais plus la première lettre en gras rouge, mais l'option 2 persistait (applique la même valeur à deb et fin pour la cellule suivante si pas de crochets)
Pour contourner, j'ai inséré une réinitialisation (deb=0 & fin=0) avant chaque déclaration
Maintenant, je me suis rendu compte que certaines de me cellules comportaient plusieurs groupes de [] et je vais m'atteler à essayer de mettre chaque groupe entre [] sous le même format.
Bon en fait, le If...end if n'a rien changé. Effectivement, je n'avais plus la première lettre en gras rouge, mais l'option 2 persistait (applique la même valeur à deb et fin pour la cellule suivante si pas de crochets)
Pour contourner, j'ai inséré une réinitialisation (deb=0 & fin=0) avant chaque déclaration
Maintenant, je me suis rendu compte que certaines de me cellules comportaient plusieurs groupes de [] et je vais m'atteler à essayer de mettre chaque groupe entre [] sous le même format.
Modifié par Mabelle60 le 25/05/2016 à 22:51
Et désolé pour le temps, mais occupé à d'autres tâches...
J'utilise effectivement la même méthode lorsque je n'ai pas trop de temps pour développer une macro à partir de mes seules connaissances.
Mais cela ne fonctionne pas dans ce cas puisque la méthode recherche ne fait que afficher les cellules comportant la valeur cherchée sans les identifier dans la macro, ni localiser la place du crochet dans le texte.
Mais c'est bien une piste que j’approfondirais en essayant de la cumuler à la méthode proposée par via55.