Mettre en majuscule

Résolu/Fermé
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 - 18 févr. 2016 à 14:58
jc80 Messages postés 4243 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 - 18 févr. 2016 à 15:48
Bonjour à tous ,

Je cherche un moyen de tout mettre en majuscule.
Je m'explique : lors de la saisie d'une cellule , j'aimerais qu'elle se mette en majuscule lorsque je tape sur "entrée". Après multiple recherche sur le net, je ne trouve pas comment faire ça directement à la "sortie" de la cellule, tout ce que je trouve c'est au moment de changer d'onglet.(Worksheet activate)

Merci d'avance ,

Cordialement


5 réponses

jc80 Messages postés 4243 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 1 424
Modifié par jc80 le 18/02/2016 à 15:04
Bonjour
Range("A1")=Ucase(Range("A1")

Cordialement
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
18 févr. 2016 à 15:07
Bonjour ,

où ?
0
jc80 Messages postés 4243 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 1 424 > Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023
18 févr. 2016 à 15:09
A mettre dans ta feuille toutes tes cellules seront en majuscule

Private Sub Worksheet_Change(ByVal Target As Range)
'Cela évite que l'événement se répète à chaque modification du contenu de la cellule
Application.EnableEvents = False
'Met en majuscule
Target = UCase(Target)
'Rétablit la prise en charge des événements
Application.EnableEvents = True
End Sub
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
18 févr. 2016 à 15:14
Maintenant il faut que je trouve le moyen de le faire que sur la cellule demandée :)
0
jc80 Messages postés 4243 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 1 424 > Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023
18 févr. 2016 à 15:18
dans ce cas tu prends la formule de Mike-31 que je salue et tu modifie cette partie Range("A1")) tu choisis ta cellule
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
18 févr. 2016 à 15:20
Malheureusement , ca ne fonctionne pas :(
0
Mike-31 Messages postés 18350 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 28 novembre 2024 5 106
18 févr. 2016 à 15:09
Bonjour,

Exemple pour traiter la plage A1:A30
clic droit sur l'onglet de feuille/visualiser le code, coller ce code

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A1:A30")) Is Nothing Then
Target.Value = UCase(Target)
End If
End Sub

0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
18 févr. 2016 à 15:17
bonjour et merci Mike ,

ca ne fonctionne pas ...
0
Mike-31 Messages postés 18350 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 28 novembre 2024 5 106
18 févr. 2016 à 15:24
Re,

comment ça ne fonctionne pas, quelle est la cellule ou la plage que tu souhaite traitée
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
18 févr. 2016 à 15:27
J'ai fait la manip que tu m'as donné , et les cellules de la colonne A ne se mettent pas en majuscule lorsque je tape quelques choses dedans.

J'ai fait le test pour la colonne A avant de l'appliquer à mes cellules. Celles-ci seraient K3/K14/N3 et N14
0
Mike-31 Messages postés 18350 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 28 novembre 2024 5 106
18 févr. 2016 à 15:28
Re,

oui j'ai vu ta réponse plus haut colle ce code dans les propriétés de ta feuille

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Union([K3:K4], [N3:N4])) Is Nothing Then
Target.Value = UCase(Target)
End If
End Sub

0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
18 févr. 2016 à 15:31
Merci Mike , ça fonctionne désormais avec :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Union(K3, K14, N3, N14)) Is Nothing Then
Target.Value = UCase(Target)
End If
End Sub
0
jc80 Messages postés 4243 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 1 424 > Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023
18 févr. 2016 à 15:48
Celle ci aussi
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Union([K3,K14], [N3,N14])) Is Nothing Then
Target.Value = UCase(Target)
End If
End Sub
0

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

Posez votre question
Mike-31 Messages postés 18350 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 28 novembre 2024 5 106
Modifié par Mike-31 le 18/02/2016 à 15:39
Re,

le principal est que tu y sois arrivé, mais la syntaxe logique voudrait que tu écrives

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Union(Range("K3:K14"), Range("N3:N14"))) Is Nothing Then
Target.Value = UCase(Target)
End If
End Sub

ou
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Union([K3:K14], [N3:N14])) Is Nothing Then
Target.Value = UCase(Target)
End If
End Sub

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0