Mettre majuscule après point automatiquement

Résolu
Bonjour tout le monde !

Étant (très) débutante en VBA, je suis à la recherche faune fonction (ou procédure, je ne sais pas) permettant de mettre des majuscules automatiquement après les points dans mon document Excel.

J'ai deja fouiller partout sur internet et je reste sans réponse, j'espère donc trouver la solution à mon problème grâce à ce message !

Je vous remercie par avance de vos réponses, bonne journée
A voir également:

10 réponses


 
Bonjour à tous

Si le point est collé au caractère suivant, la correction automatique ne fonctionne pas (du moins sur mon vieil excel 2003)
Une petite macro
http://www.cjoint.com/c/GGoojN7wleB

Cdlmnt
5

 
Bonjour le Forum

Bonjour ccm81, chez moi ton code ne fonctionne pas : il ajoute un majuscule après le point sans supprimer la minuscule correspondante.

De toute façon, en français, une phrase se termine par un point mais la suivante du même paragraphe doit toujours commencer par un espace avant la majuscule. Et la première lettre du paragraphe doit aussi commencer par une majuscule.
Voici ton code modifié pour répondre à la demande initiale:
Option Explicit
Public Sub ok()
Dim plage As Range, cel As Range, s As String, r As Long
Set plage = Selection
For Each cel In plage
  s = cel.Value
  Mid(s, 1, 1) = UCase(Mid(s, 1, 1)) 'début de paragraphe
  r = InStr(1, s, ". ")
  While r > 0 And r <> Len(s)
    Mid(s, r + 2, 1) = UCase(Mid(s, r + 2, 1)) 'début de phrase
    r = InStr(r + 1, s, ". ")
  Wend
  cel.Value = s
Next cel
End Sub


2

 
Salut Patrice,

exact, j'ai taillé (à droite) un peu grand
bon, je vais quand même donner le code correct

Public Sub ok()
Dim plage As Range, cel As Range, s As String, r As Long
Application.ScreenUpdating = False
Set plage = Selection
For Each cel In plage
s = cel.Value
r = InStr(1, s, ".")
While r > 0 And r <> Len(s)
s = Left(s, r) & UCase(Mid(s, r + 1, 1)) & Right(s, Len(s) - r - 1)
r = InStr(r + 1, s, ".")
Wend
cel.Value = s
Next cel
End Sub


Bonne soirée à tous
2

 
Bonjour,

Comme son nom l'indique, la correction automatique fait ça automatiquement.

Cordialement
Patrice
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question

 
bonsoir, peux-tu nous donner plus d'information sur la structure de ton document, et décrire comment tu utiliserais la fonction ou la procédure?
0
sylvain
 
Bonjour mlou51,

Dans ton message du 14 juillet à 15:33, tu as mis un lien sur l'article
« Mettre une majuscule après un point en VBA » ; j'ai lu ce code VBA,
et tu as dû voir que ça met une majuscule après tous les caractères
de la variable mestrucs. C'est inapproprié pour « ; » et « : », mais
c'est valable de le faire après ces 3 caractères « .!? » ; le code VBA
que j'ai réalisé fait cela : https://mon-partage.fr/f/yDOxVIno/

----------------------------------------

Sur la feuille, il y a une phrase en B2 sans aucune majuscule ;
cette phrase est aussi en dessous, jusqu'en B32, avec parfois
des cellules vides entre elles ; c'est pour te montrer que
la sub ne sera pas gênée par des cellules vides.

Sans que tu doives faire une sélection préalable, fais juste
Ctrl e => travail fait : toutes les phrases ont les majuscules
aux bons endroits.

Tu peux bien sûr remplacer les phrases par celles de ton choix.

----------------------------------------

Alt F11 pour voir la macro, puis revenir sur Excel.

Si tes phrases sont dans une autre colonne que la colonne B,
c'est très facile d'adapter la macro.

Si besoin, tu peux me demander une adaptation
ou un complément d'informations.

----------------------------------------

Merci de me dire si ça te convient.

Cordialement.
 
0

 
Re-bonjour !

J'ai essayé tous les codes que vous m'avez donné, or... Aucun ne fonctionne sur le document que je dois traité...
L'erreur vient sans doute de moi, mais je ne comprends pas d'où.
Les cellules sur lesquelles je dois ajouter les majuscules après les points sont toutes celles de la colonne L, si jamais ça joue.
Pourtant j'ai bien compilé et exécuter mais non... Il reste capricieux.

Merci quand même pour toutes vos réponses !
0

 
Bonjour

L'erreur vient sans doute de moi, mais je ne comprends pas d'où.


Peux tu envoyer un bout de ton fichier anonymisé, mais avec la même structure que l'original,sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".

Cdlmnt
0

 
Le problème est réglé, j'ai réussi a me dépatouiller pour obtenir ce que je voulais ! Merci à tous pour tous vos codes !!!
0

 
Bonjour,

Comme son nom l'indique, la correction automatique fait ça automatiquement.
Cordialement
Patrice

mlou51 - 13 juil. 2017 à 18:23
Malheureusement non,


Ben si, contrôle tes options. Majuscule en début de phrase doit être coché.

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
-1