Bonjour à tous
J'aurai besoin
que dans une plage de cellules par exemple D5: D10
je voudrais que la première lettre lorsque j'écris dans cette cellule soit toujours soit automatiquement une majuscule
et les autres des minuscules
merci a l'avance de votre aide
Pièces jointes
Changer la casse automatiquement d'un mot dans une cellule.zip
merci Riton
ton exemple fonctionne hyper bien , par contre moi j'ai essayé de l'adapter sur mon tableau et ca ne va plus , je ne comprends pas ou j'ai cafouillé ci joint mon tableau pour que tu puisses jeter un oeil
merci encore
Voici un bout de code VBA à mettre dans le code de la feuille que tu utilises pour tes données à mettre en majuscule :
VB:
Option Explicit
Public lLigSaisie As Long
Public sValModif As String
public iColSaisie as integer
Const iColASaisir As Integer = 3
Private Sub Worksheet_Change(ByVal Target As Range)
lLigSaisie = Target.Row
iColSaisie = CInt(Target.Column)
sValModif = UCase(Cells(lLigSaisie, iColSaisie))
If iColSaisie = iColASaisir And lLigSaisie > 2 And Not sValModif = "" Then
Cells(lLigSaisie, iColASaisir) = UCase(Cells(lLigSaisie, iColASaisir))
End If
End Sub
Dans cette version tout le mot est en majuscule.
la valeur de la constante "iColASaisir" est à modifier si ce n'est pas la colonne "C" (=3)
Voici un bout de code VBA à mettre dans le code de la feuille que tu utilises pour tes données à mettre en majuscule :
VB:
Public lLigSaisie As Long
Const iColASaisir As Integer = 3
Public iColSaisie As Integer
Public sValModif As String
Public sLettreUne As String
Private Sub Worksheet_Change(ByVal Target As Range)
lLigSaisie = Target.Row
iColSaisie = CInt(Target.Column)
sValModif = Cells(lLigSaisie, iColSaisie)
If iColSaisie = 3 And lLigSaisie > 2 And Not sValModif = "" Then
sLettreUne = UCase(Left$(sValModif, 1))
sValModif = sLettreUne & Mid$(sValModif, 2)
Cells(lLigSaisie, iColSaisie) = sValModif
End If
End Sub
Dans cette version la premère lettre du mot est en majuscule.
la valeur de la constante "iColASaisir" est à modifier si ce n'est pas la colonne "C" (=3)
Bien sur dans ces 2 versions il est supposé, d'après ce que tu as décrit, que le mot à modifier est en 1ère position. Après ce sera à toi à adapter.....
Voici un bout de code VBA à mettre dans le code de la feuille que tu utilises pour tes données à mettre en majuscule :
VB:
Option Explicit
Public lLigSaisie As Long
Public sValModif As String
public iColSaisie as integer
Const iColASaisir As Integer = 3
Private Sub Worksheet_Change(ByVal Target As Range)
lLigSaisie = Target.Row
iColSaisie = CInt(Target.Column)
sValModif = UCase(Cells(lLigSaisie, iColSaisie))
If iColSaisie = iColASaisir And lLigSaisie > 2 And Not sValModif = "" Then
Cells(lLigSaisie, iColASaisir) = UCase(Cells(lLigSaisie, iColASaisir))
End If
End Sub
Dans cette version tout le mot est en majuscule.
la valeur de la constante "iColASaisir" est à modifier si ce n'est pas la colonne "C" (=3)
Voici un bout de code VBA à mettre dans le code de la feuille que tu utilises pour tes données à mettre en majuscule :
VB:
Option Explicit
Public lLigSaisie As Long
Public sValModif As String
public iColSaisie as integer
Const iColASaisir As Integer = 3
Private Sub Worksheet_Change(ByVal Target As Range)
lLigSaisie = Target.Row
iColSaisie = CInt(Target.Column)
sValModif = UCase(Cells(lLigSaisie, iColSaisie))
If iColSaisie = iColASaisir And lLigSaisie > 2 And Not sValModif = "" Then
Cells(lLigSaisie, iColASaisir) = UCase(Cells(lLigSaisie, iColASaisir))
End If
End Sub
Dans cette version tout le mot est en majuscule.
la valeur de la constante "iColASaisir" est à modifier si ce n'est pas la colonne "C" (=3)
Bonjour,
Je t'ai fait 2 réponses
La première passe tout le mot en majuscule
La deuxième passe la première lettre du mot en majuscule
Nota : en relisant ce que j'ai envoyé je pense à un problème sur le site, car en fait je vois qu'il 4 envois!!!!
Seules les 2 ères réponses comptent.
Ne pas tenir compte des 3ème et 4ème.
Merci , tu as raison le site doit rencontrer un probleme
BREF/
La premiere lettre se change en majuscule , et les autres en minuscule_ Jusque la tout va bien
Mais il y a un probleme
J'ecris Sms : 28/10/2019 dans une cellule c'est parfait
mais lorsque je veux ecrire dans une autre cellule la meme chose (Smsavec une date differente Soit Sms :29/10/2018
ca fait comme un copier coller de la premiere cellule Sms: 28/10/2019
Merci , tu as raison le site doit rencontrer un probleme
BREF/
La premiere lettre se change en majuscule , et les autres en minuscule_ Jusque la tout va bien
Mais il y a un probleme
J'ecris Sms : 28/10/2019 dans une cellule c'est parfait
mais lorsque je veux ecrire dans une autre cellule la meme chose (Sms )avec une date differente Soit Sms :29/10/2018
ca fait comme un copier coller de la premiere cellule Sms: 28/10/2019
Bonsoir
Je le ferai bien volontiers mais le bouton supprimer n'apparait que sur les messages à conserver et pas sur ceux qu'il faudrait effacer.
Farouk
Bon , j'ai teste et sur ton fichier ca fonctionne nickel , moi je dois avoir un conflit avec une macro ou je ne sais
et si je fais une copie d'une feuille de mon application pour la mettre sur le forum ca fonctionne (la copie.)
je regarderais ca demain matin
merci de ton aide
bonne fin de soiree