Code VB avec drôle de réaction
Bonjour à tous,
J'ai créé, dans un module complémentaire, une macro qui passe toutes les cellules de ma sélection en majuscule.
J'y ai donc accès depuis tous mes classeurs Excel via un bouton ajouté au ruban.
Idem avec Minuscule et Trim.
Voilà le code pour les majuscules (il n'y qu'une ligne qui change pour les deux autres) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Sub Mettre_en_majuscule_la_selection()
Application.ScreenUpdating = False
Dim rg As Range: Set rg = Selection
Dim t() As Variant: t() = rg
Dim ligne As Double, colonne As Double
For colonne = 1 To UBound(t, 2)
For lign = 1 To UBound(t, 1)
On Error Resume Next
t(ligne, colonne) = UCase(t(ligne, colonne))
On Error GoTo 0
Next ligne
Next colonne
rg = t()
Application.ScreenUpdating = True
End Sub |
Ça fonctionne plutôt bien sauf quelques bizarreries, je m'explique :
- Lorsque je lance la macro avec une seule cellule ça plante lors de l'attribution de rg a mon tableau t (t() = rg).
- Avec des dates, ça fait vraiment des choses bizarres, les mois et les jours sont échangés et la sub ne parcours pas toute la selection.
Si quelqu'un sais me donner des explications qui m'aideraient a comprendre le VB encore un peu plus je suis plus que preneur.
Merci d'avance à tous et bonne journée.