Encore un problème de majuscule
Bonjour à tous,
Mon problème concerne la mise en majuscule de colonnes. Je voudrais mettre la quasi totalité de mes colonnes en majuscule.
J'ai donc cherché et trouvé une VBA (enfin je crois que c'est ça) pour le faire et elle à l'air de fonctionner pas trop mal mais il y a un hic : je ne peux plus faire CTRL + Z quand je mets cette VBA. De plus, je souhaiterais également que deux de mes colonnes (la 34 et la 35) se mettent avec juste la première lettre en majuscule. Là je cale car je ne comprends strictement rien à la VBA et pour couronner le tout je ne comprends pas l'anglais (sauf "y love you" et "shit" !)
Alors si une âme charitable pouvait m'aider... Merci d'avance
Voilà le code que j'ai récupéré et mon fichier :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then
For Each Cellule In Target
Worksheet_Change Cellule
Next
Exit Sub
End If
Select Case Target.COLUMN
Case 1 To 4, 7 To 33, 36, 37, 38, 39, 41
If Target.Value <> UCase$(Target.Value) Then
Target.Value = UCase$(Target.Value)
End If
Case 14
If Target.Value <> StrConv(Target.Value, vbProperCase) Then
Target.Value = StrConv(Target.Value, vbProperCase)
End If
End Select
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
Bonjour
pegpas a écrit :je ne peux plus faire CTRL + Z
On ne peut pas y faire grand chose
Pour le reste modifies ta macro (partie surlignée)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then
For Each Cellule In Target
Worksheet_Change Cellule
Next
Exit Sub
End If
Select Case Target.COLUMN
Case 1 To 4, 7 To 33, 36, 37, 38, 39, 41
If Target.Value <> UCase$(Target.Value) Then
Target.Value = UCase$(Target.Value)
End If
Case 34, 35
If Target.Value <> StrConv(Target.Value, vbProperCase) Then
Target.Value = StrConv(Target.Value, vbProperCase)
End If
End Select
End SubBonjour Banzai64,
Merci à toi pour ta réponse, ça fonctionne sauf que cela me mets une majuscule à tous les mots. Je voulais juste une majuscule au premier mot de la phrase mais ce n'est pas grave.
En fait je m'aperçois que la solution était toute conne. Enfin je ne risquais pas de trouver sans ton aide car je ne comprends absolument rien à ce que je fais.
Merci encore.
Bonjour,
Modifies ton code :
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
Select Case Target.Column
Case 1 To 4, 7 To 33, 36 To 41
Target.Value = UCase$(Target.Value)
Case 34 to 35
Target.Value = StrConv(Target.Value, vbProperCase)
End Select
Application.EnableEvents = True
End SubJe n'ai pas compris le Ctrl+z
Cdlt.
Bonjour Jean-Eric,
Merci pour ton aide. Ton code fonctionne également comme celui de Bonzai64.
Pour le CTRL + Z, je voulais dire que lorsqu'il n'y avait pas de code VBA, je pouvais faire CTRL+Z quand je m'apercevais que j'avais fait une erreur de saisie ou quand je voulais effacer les dernières saisies. Mais depuis que j'ai mis un code, je ne peux plus le faire, Il faut que je clique dans la cellule et que je fasse "suppr".
Merci encore de m'avoir aidé.