Mettre une plage en majuscule

Le
Roland Miller
Bonjour,

Selon vous … y aurait-il une façon de mettre toute une plage e=
n majuscule … sans avoir à faire une boucle … For each=
cell ….

Merci à l'avance
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #26519529
Le 19/06/19 à 07:36, Roland Miller a écrit :
Bonjour,
Selon vous … y aurait-il une façon de mettre toute une plage en majuscule … sans avoir à faire une boucle … For each cell ….
Merci à l'avance


Bonjour,
Essaie comme ceci, cela devrait être assez rapide!
'---------------------------------------
Sub test()
Dim Tblo(), A As Long, B As Long
Application.EnableEvents = False
With Worksheets("Feuil1")
Tblo = .UsedRange.Value
For A = 1 To UBound(Tblo, 1)
For B = 1 To UBound(Tblo, 2)
If Not .Cells(A, B).HasFormula Then
Tblo(A, B) = UCase(Tblo(A, B))
Else
Tblo(A, B) = .Cells(A, B).Formula
End If
Next
Next
.UsedRange = Tblo
End With
Application.EnableEvents = True
End Sub
'---------------------------------------
Pour une feuille avec formule, mais SANS FORMULE MATRICIELLE
Si tu as des formules matricielles dans la feuille, il faudrait raffiner
la procédure...
'---------------------------------------
Sub test1()
Dim Tblo(), A As Long, B As Long
Application.EnableEvents = False
With Worksheets("Feuil1")
Tblo = .UsedRange.Value
For A = 1 To UBound(Tblo, 1)
For B = 1 To UBound(Tblo, 2)
Tblo(A, B) = UCase(Tblo(A, B))
Next
Next
.UsedRange = Tblo
End With
Application.EnableEvents = True
End Sub
'---------------------------------------
MichD
Roland Miller
Le #26519559
Super!
Un grand merci. Ça fonctionne parfaitement.
Roland Miller
Le #26519704
Bonjour,
J'ai aussi besoin de fusionner une plage exemple A1:A10 avec la colonne B.
Donc que A1 soit fusionné avec B1, A2 avec B2.
Dans le même ordre d'idée … est-ce possible d'en faire de même … que de tout mettre une plage en majuscule mais sans av oir à faire For each cell in range (A1:A10)?
J'ai essayé et regardé sur Internet mais sans succès. L'obje ctif est de gagner du temps considérable.
Merci à l'avance.
Roland Miller
Le #26519718
Encore un grand merci.
Publicité
Poster une réponse
Anonyme