Probleme format date avec formule vba forcage majuscules

nobru26

XLDnaute Junior
Bonsoir,

J'ai un soucis dans mes feuilles excel avec la formule de basculement automatique en majuscules:

Private Sub Worksheet_Change(ByVal zz As Range)
If Intersect(zz, [A1:J68]) Is Nothing Then Exit Sub
Application.EnableEvents = False
zz = UCase(zz)
Application.EnableEvents = True
End Sub

cela me change le format des dates pour les 12 premiers jours, mois et jours sont inversés et ensuite ils sont ok malgrès un forcage jj-mm-aaaa?

Tres intriguant, je viens de m'en apercevoir, bonjour le boulot! LOL

Des idées?
 

nobru26

XLDnaute Junior
Re : Probleme format date avec formule vba forcage majuscules

En fait c'est la formule qui me permet de passer toutes les cellules en majuscule qui me modifie (je sais pas pourquoi) bizarrement le format des dates.
Je souhaite dans mon onglet que tout soit en MAJ, il y a des chiffres/date et textes. Et sur les dates ça a l'air de bugger
quand je tape 01/04/2000 ça met 04/01/2000 et par contre 20/04/2000 reste bien 20/04/2000...

J'arrive pas à trouver une syntaxe qui fonctionne sans altérer mes dates.

Merci
 

nobru26

XLDnaute Junior
Re : Probleme format date avec formule vba forcage majuscules

Bonjour,

Merci ça a l'air de fonctionner dans mes premiers tests! :p

Par contre il y a un truc qui me chiffonne, lorsque je colle plusieurs cellules ne même temps ça plante le script et plus rien ne fonctionne par la suite, tout reste en minuscules.
Y a t'il moyen de réinitialiser ou d'éliminer cette erreur?

En // je me pose la question de pouvoir autoriser simplement le "coller valeur" et de bloquer le "coller" qui me bousille ma mise en forme même si le format des cellules est verrouillé.....

En tout cas merci à tous pour vos aides et conseils je vais de mon coté essayer d'investiguer dans ce sens.
 

nobru26

XLDnaute Junior
Re : Probleme format date avec formule vba forcage majuscules

Merci pour tes réponses mais cela ne fonctionne pas.
Dans le cas d'une cellule oui.
Mais si j'ai plusieurs cellules "collage" ça plante plus le script mais la fonction ne remarche plus tant que je ferme pas le fichier excel puis réouvre, initialisation?

Merci
Le but étant de toujours tout passer en MAJ sur tout l'onglet.
 

nobru26

XLDnaute Junior
Re : Probleme format date avec formule vba forcage majuscules

Ok voici un fichier fait à la va-vite mais tout est dedans.

Lorsque collage de plusieurs cellules erreur 13
Script arrêté et ne redémarre pas tant que je quitte pas Excel.
 

Pièces jointes

  • MAJ.xlsm
    15.7 KB · Affichages: 44

Paf

XLDnaute Barbatruc
Re : Probleme format date avec formule vba forcage majuscules

re tous

je ne comprend pas la fonction évènementielle qui passe la plage [A1:J68] en majuscule et ce collage ? surtout si le but est de passer la feuille complète en majuscule.

une macro qui passerait tout en majuscule ne ferait pas l'affaire?

du style:

Code:
sub macro()

For each MaCel in worksheets("Feuil1").cells
    If Not IsDate(MaCel) Then MaCel.Value = UCase(MaCel.Value)
Next

End Sub

Sûr que c'est très long, mais en définissant une plage, on devrait raccourcir sérieusement (ou passer par un tableau)

A+
 

camarchepas

XLDnaute Barbatruc
Re : Probleme format date avec formule vba forcage majuscules

Ok ,

Regardes comme ceci :

Code:
Private Sub Worksheet_Change(ByVal zz As Range)
 Dim Cellule As Range
 If Intersect(zz, [A1:J68]) Is Nothing Then Exit Sub
 Application.EnableEvents = False
 If zz.Count > 1 Then
  For Each Cellule In zz.Cells
     If Not IsDate(Cellule) Then Cellule = UCase(Cellule)
  Next
 Else
  If Not IsDate(zz) Then zz = UCase(zz)
 End If
 Application.EnableEvents = True
 End Sub
 

nobru26

XLDnaute Junior
Re : Probleme format date avec formule vba forcage majuscules

Excellent votre réactivité!!!

Le script macro serait à lancer manuellement, je viens de tester c'est hyper long.... de plus je souhaite que ce soit au cours de la saisie par l'operateur.

Merci "camarchepas" mais le script ne fonctionne pas, toujours erreur13 et l'évènementiel ne redémarre pas...après.

Je vois pas comment solutionner ceci!
 

Statistiques des forums

Discussions
312 330
Messages
2 087 341
Membres
103 524
dernier inscrit
Smile1813