Majuscule sur plusieurs colonnes

Est il possible de mettre automatiquement en Majuscule les données (que l'on rentrent au fur et à mesure) des colonnes C D E F H I K S .

j'aimerais également avoir les 1er lettres uniquement en majuscules pour les colonnes G O Q R T U .

mes donnés sont entre A6 et V900

en vous remerciant par avance

Salut,

Voici un code qui devrait faire l'affaire :

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub

    If Not Application.Intersect(Target, Range("C6:F900,H6:I900,K6:K900,S6:S900")) Is Nothing Then
        Target = UCase(Target)
    End If

    If Not Application.Intersect(Target, Range("G6:G900,O6:O900,Q6:R900,T6:U900")) Is Nothing Then
        Target = WorksheetFunction.Proper(Target)
    End If

End Sub

Cordialement

Bonjour Yvouille

Merci beaucoup pour ce code qui marche à merveille .

Par contre je cherche une autre solution pour colorer la ligne active. Avec ton code la ligne active colorée est très lente .

Code’ Private Sub Worksheet_SelectionChange(ByVal Target As Range)’

Calculate

End Sub

+ MFC = LIGNE()=CELLULE("ligne")

Aurais- tu une autre solution pour colorer la ligne active.

En te remerciant par avance si tu as une solution

Cordialement

Je peux voir ton fichier avec cette construction ?

A te relire.

Yvouille a écrit :

Je peux voir ton fichier avec cette construction ?

A te relire.

bonsoir yvouille

désolé du retard

voici le fichier

cordialement

ps: après inscription dans cellule, je me sers de la touche tabulation j'écris donc sur la cellule suivante et là , ça bloque durant 2 secondes au moins avant inscription.

Re,

Chez moi je ne vois pas de différence dans le coloriage de la ligne, que ma macro soit activée ou neutralisée . Mais ça peut venir du fait que tu me fournis un fichier dans lequel tu as semble-t-il effacé beaucoup de données

Essaie quand même de modifier ton code ci-dessous :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.EnableEvents = False
    Calculate
    Application.EnableEvents = True
End Sub

C'est sans garantie vu que je n'ai pas ton fichier pour tester.

Bonnes salutations.

bonjour

non j'ai testé le fichier sans donnée avant de te l'envoyer de façon à voir si cela avait une incidence sur le problème de lenteur .

comme tu a pu le constater , rien que le fait d'entrer 'essai' provoque un ralentissement excessif.

sinon c'est pas grave, je me passerai de la ligne colorée.

Bonjour anaxagore,

Bonjour Yvouille,

Tu devrais désactiver les événements dans ta procédure Change

 Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
    Application.EnableEvents = False
    If Not Application.Intersect(Target, Range("C6:F900,H6:I900,K6:K900,S6:S900")) Is Nothing Then
        Target = UCase(Target)
    End If

    If Not Application.Intersect(Target, Range("G6:G900,O6:O900,Q6:R900,T6:U900")) Is Nothing Then
        Target = WorksheetFunction.Proper(Target)
    End If
    Application.EnableEvents = True
End Sub

A+

Merci Frangy pour ton conseil. J'espère que ce soit ça

Bonnes salutations.

slt

merci yvouille merci frangy

ca marche très bien

je clôture ce post ... pour en ouvrir un autre

merci encore

Rechercher des sujets similaires à "majuscule colonnes"