Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 1 Then Target = UCase(Target)
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 1 Then Target = UCase(Target)
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then '1-> Une cellule de la colonne A
Application.EnableEvents = False
Target.Value = UCase(Target.Value)
Application.EnableEvents = True
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
Application.EnableEvents = False
If Target.Column = 1 Then
For Each c In Target.Cells
If c.Column = 1 Then c = UCase(c)
Next
End If
Application.EnableEvents = True
End Sub
Ok merci beaucoupRe ...
Ou un peu plus élaboré :
Avec gestionCode:Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range Application.EnableEvents = False If Target.Column = 1 Then For Each c In Target.Cells If c.Column = 1 Then c = UCase(c) Next End If Application.EnableEvents = True End Sub
des Suppr etdes saisies sur plusieurs cellules (avec validation par CTRL+ENTRÉE)
Voir fichier joint
Amicalement
Alain
PS Modif : suppression du test IsEmpty(c)
Bonjour Tchi456, bonjour à tous,
J'avais trouvé ce code à mettre dans le module de la feuille et qui fonctionne très bien.
VB:Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then '1-> Une cellule de la colonne A Application.EnableEvents = False Target.Value = UCase(Target.Value) Application.EnableEvents = True End If End Sub
Bonne journée
AL 22
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then '1-> Une cellule de la colonne A
Application.EnableEvents = False
Target.Value = StrConv(Target.Value, vbProperCase) 'UCase(Target.Value)
Application.EnableEvents = True
End If
End Sub
Bonsoir Taty 1973, bonsoir à tous,
Modifiez le code par celui-ci :
VB:Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then '1-> Une cellule de la colonne A Application.EnableEvents = False Target.Value = StrConv(Target.Value, vbProperCase) 'UCase(Target.Value) Application.EnableEvents = True End If End Sub
Bonne soirée
AL 22
Un gros merci ça fonctionne. Mais j'aurais une autre demande.
Est ce qu'il y a un moyen pour que le code que vous m'avez donné s'applique quand j'importe des données? J'explique. J'ai des fournisseurs qui m'envoie des mises à jour pour leur produits et le nom des itemps sont tous écrient en majuscule. Quand j'importe la mises à jour dans la liste que j'ai déja, je dois créer une nouvelle colonne et utiliser la formule =NOMPROPRE(), incrémenter et déplacer la mise à jour dans la bonne colonne.
Est ce qu'il y a un moyen pour ne pas faire toute cette manupulation avec la formule et le reste?
Taty
********************************************************************************************************
OK, je vais faire ça en fin de semaine. MerciBonjour Taty 1973, bonjour le forum,
Votre demande n'est pas très explicite et je vous conseille d'ouvrir un autre post en y joignant un classeur anonymisé expliquant les détails.
A+
AL 22