majuscule sur plusieurs colonnes non contiguës

  • Initiateur de la discussion Initiateur de la discussion Myl
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Myl

Guest
J'ai utilisé la formule proposée par Pascal au mois de décembre dernier pour mettre en majuscule 1 cellule. Il était facile d'étendre le choix à toutes les cellules de la colonne. Cependant quand je viens pour indiquer que je souhaite appliquer cette même opération à une autre colone non contiguë, même si je mets 'E103:E644;M103:M644' je reçois un message d'erreur. Comment faire pour résoudre ce problème? :unsure:
 
Salut,

Comme tu ne dis pas quelle formule et que tu ne précises pas le lien de ton message précédent, je crains fort qu'il n'y a que Pascal qui puisse t'aider, pour autant que lui il s'en souvienne.

Malheureusement pour toi, il m'a été dit qu'il était parti pour trois à l'étranger.
Il te faudra donc t'armer de patience.

Â+
 
bonsoir André , Myl

peut être ceci:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range('total')) Is Nothing Then Target = UCase(Target)
End Sub

--> total étant une plage de cellules nomées
sélectionner tes cellule E103:E644;M103:M644
et dans la zone de nom tu tape total puis entré

A+
 
bonsoir André , Myl

peut être ceci:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range('total')) Is Nothing Then Target = UCase(Target)
End Sub

--> total étant une plage de cellules nomées
sélectionner tes cellule E103:E644;M103:M644
et dans la zone de nom tu tape total puis entré

A+
 
Salut,

essaie ceci:

Sub nom_en_majuscule()
Dim uneCellule As Range
For Each uneCellule In Selection
If uneCellule.Value = '' Then GoTo lasuite 'au cas ou une cellule serait vide dans la sélection
'uneCellule.Value = UCase(Left(uneCellule.Value, 1)) & LCase(Right(uneCellule.Value, Len(uneCellule.Value) - 1))
uneCellule.Value = UCase(uneCellule.Value) ' & LCase(Right(uneCellule.Value, Len(uneCellule.Value) - 1))
lasuite:
Next uneCellule
End Sub
Bye
 
J'ai effectivement oublié de mettre la formule, désolée. Mais tu as raison tintin, c'est exactement celle-là. J'ai essayé de mettre comme tu l'indique la sélection en mettant le ; entre les deux colonnes, mais c'est là que je reçois un message d'erreur. Une colonne, ça fonctionne très bien, quand j'entre la 2e avec le ; j'ai le message 'Erreur d'execution '1004': La méthode 'Range' de l'objet'_Worksheet' a échoué
 
Après relecture de ton message tintin j'ai compris que je n'avais pas nommé mon champ de cellule. Une fois ça fait tout fonctionne parfaitement, Merci.
Je reviendrai, je trouve ça très stimulant ce genre de groupe pour répondre à des questionnements. Je ne suis pas très ferrée en macro et encore moins en Visual basic, mais j'ai bien l'intention d'apprendre
Au plaisir
:woohoo:
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour