Formule pour mettre des majuscules dans un texte

audeloulou -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

j'aurai besoin d'une formule qui dirait que : après le texte "<br/>- " la première lettre doit être en majuscule.
c'est possible ?

/!\ il y a un espace après le tiret de <br/>- .

merci de votre aide.

6 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Essaies ceci, ton texte initial en A2
    =GAUCHE(A2;TROUVE("<br/>- ";A2;1)+6) & MAJUSCULE(STXT(A2;TROUVE("<br/>- ";A2;1)+7;1)) & DROITE(A2;NBCAR(A2)-TROUVE("<br/>- ";A2;1)-7)

    Cdlmnt
    0
    1. audeloulou
       
      merci pour la réponse. La formule fonctionne, mais pas sur la ligne entière.
      C'est à dire qu'il faudrait qu"il y ait une majuscule à chaque fois qu'il y a un "<br/>- " dans ma cellule, pas uniquement pour le premier <br/> (voir doc joint)
      0
  2. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    Essayer ceci:

    =REMPLACER(A1;TROUVE("<br/>- ";$A$1;1)+7;1;CAR(CODE(DROITE(GAUCHE($A$1;TROUVE("<br/>- ";$A$1;1)+7);1))-32))

    Le texte en A1
    0
    1. audeloulou
       
      merci également pour la réponse. Même constat, la formule fonctionne, mais pas sur la ligne entière.
      C'est à dire qu'il faudrait qu"il y ait une majuscule à chaque fois qu'il y a un "<br/>- " dans ma cellule, pas uniquement pour le premier <br/> (voir doc joint)
      0
      1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835 > audeloulou
         
        Manque de précision dans la question. On ne peut pas jouer aux devinettes
        Aidez nous à vous aider, mettre un exemple représentatif du problème, si vous voulez une réponse correspondant à votre besoin
        (voir doc joint) OU?
        0
      2. audeloulou > PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention  
         
        ok, désolée..... voici une cellule type :

        Facile d’entretien.<br/>- tissé main.<br/>- tressage avec fil doré.<br/>- housse en coton.<br/>- déhoussable.<br/>- garnissage 100% polyester.

        voilà le résultat que j'attends :

        Facile d’entretien.<br/>- Tissé main.<br/>- Tressage avec fil doré.<br/>- Housse en coton.<br/>- Déhoussable.<br/>- Garnissage 100% polyester.
        0
  3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    sans passer par VBA, ça va être coton.
    En attendant qu'une bonne âme comme il y en a de très performantes en VBA sur ce forum puisse vous aider, une solution provisoire, mais un peu fastidieuse, ,même si ça va plus vite que lettre par lettre:

    Sélectionnez le champ à traiter
    touche ctrl avec touche h
    dans la fenêtre affichée:
    remplacer:<br/>- t
    par <br/>- T
    et "remplacer tout"

    vous pouvez faire ça 26 fois pour l'alphabet complet , (en gardant toujours la fenêtre affichée) où moins si vous connaissez les initiales concernées.

    Ca va quand même assez vite et ça évite de charger le fichier en macro ou en formule
    crdlmnt

    La qualité de la réponse dépend surtout de la clarté de la question, merci!
    0
    1. audeloulou
       
      je pense qu'effectivement, je vais devoir le faire de cette façon.
      Merci !
      0
  4. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    BONJOUR

    Une idée dans le fichier

    http://www.cjoint.com/c/FHsm2QPji2x
    0
    1. audeloulou
       
      merci de votre aide.
      j'ai regardé, mais j'ai l'impression que cette formule ne fonctionnera que pour cette "phrase" ? le souci, c'est que j'ai 200 "phrases" différentes...
      ps : je n'avais pas vu que mon doc joint n'est pas passé. :-/
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Mettez votre fichier que l'on puisse regarder
    Allez sur Cjoint.com
    créer un lien et copier ce lien dans votre réponse ici sur CCM
    0
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Un essai avec une (petite) fonction personnalisée (vba)
    Const cle = "<br/>- "

    Public Function Majus(ByVal s As String) As String
    Dim poscle As Long
    If InStr(1, s, cle) = 0 Then
    Majus = s
    Else
    poscle = InStr(1, s, cle)
    Majus = Left(s, poscle + Len(cle) - 1) _
    & UCase(Mid(s, poscle + Len(cle), 1)) _
    & Majus(Right(s, Len(s) - poscle - Len(cle)))
    End If
    End Function

    http://www.cjoint.com/c/FHsnV0GtdLn
    Salutations à Vaucluse et à PHILOU10120 au passage

    Cdlmnt
    0