Mettre en majuscules toutes les cellules de certaines colonnes

Bonjour à tous,

Je me permets de vous solliciter pour apporter une solution à mon problème.

J’ai une quantité importante de données, ses données se trouvent dans 11 colonnes ( de "A" à "K") et un nombre de lignes important, la dernière ligne est variable.

Le but du code demandé me permettra de mettre en majuscule tous les données qui se trouvent uniquement dans les cellules des colonnes suivantes : "A", "B", "C", "F", "I" et "K". on commence à mettre en majuscule à partir de la 2e ligne jusqu’à la dernière ligne, la ligne d’en-tête en n’y touche pas.

Pouvez-vous s’il vous plait me proposer une solution avec une Macro en vba et de préférence en utilisant un tableau ainsi l’exécution du code sera très rapide.

Par exemple :

cols = Array("A", "B", "C", "F", "I", "K")
        For i = LBound(cols) To UBound(cols)

Je mets un court exemple afin que vous puissiez vous rendre compte de la nature des données qui se trouvent dans les cellules de mes colonnes.

Merci pour vos contributions.

Au plaisir de vous lire.

Bonsoir Harzer, le forum,

Pouvez-vous essayer ceci avec le petit bouton bleu 'Clic !' :

Cordialement.

AL 22

Salut Harzer, AL,

Tu peux, soit :
- changer 1 cellule pour traiter 1 ligne
- double-cliquer pour traiter l'ensemble des lignes

tTab = Range("A" & iRow & ":K" & IIf(iIdx = 1, iRow, Range("A" & Rows.Count).End(xlUp).Row)).Value
tCol = Array(1, 2, 3, 6, 9, 11)
For x = 0 To 5
    For y = 1 To UBound(tTab, 1)
        tTab(y, tCol(x)) = UCase(tTab(y, tCol(x)))
    Next
Next
Range("A" & iRow).Resize(UBound(tTab, 1), 11).Value = tTab

Il n'y aura sans doute pratiquement aucune différence de temps de traitement mais, pour le fun...

A+

10harzermaj.xlsm (18.14 Ko)

Bonsoir,

Sub enMaj()
Dim t, x, i&, j&
   t = Range("a1").CurrentRegion
   For Each x In Split("a b c f i k"): j = Cells(1, x).Column: For i = 2 To UBound(t): t(i, j) = UCase(t(i, j)): Next: Next x
   Range("a1").CurrentRegion = t
End Sub

Bonjour à tous !

Une approche dynamique via..... Power Query (oui oui.... je donne encore et encore dans le prosélytisme....) ?

On sélectionne les champs sur lesquels le traitement doit s'opérer et on actualise.

Bonjour à tous ,

Sur ma machine, testé avec 100.000 données en 2,0625 secondes

Qui dit mieux ?

AL 22

Bonjour AL22, Curulis57, maFraise et JFL,

Désolé de ne pas répondre plutôt. J’avais les petits enfants à la maison.

Merci pour vos retours respectifs et les codes proposés.

Quel plaisir d’avoir des solutions aussi variées et efficaces, je profite de cette abondance, tous les codes proposés (sans exception) me donnent satisfaction avec le résultat souhaité.

J’ai fait des tests de rapidité entre les divers propositions, le temps entre certaines propositions est très minime, toutefois, j’ai une petite préférence pour la 2eme Macro de AL22.

Mes vives remerciements à vous tous.

Cordiale poignée de mains.

Bonsoir à tous !

Bien...

Je vous remercie de ce retour.

Rechercher des sujets similaires à "mettre majuscules toutes certaines colonnes"