XL 2016 accelérer une macro pour écrire en majuscule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

la fifine

XLDnaute Occasionnel
bonsoir à tous
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

   For Each x In Range("z47,ad47,o51,s51,j55:j57,n55:n57,u55:u57,y55:y57,aj55:aj57,r62:r66,v62:v66,ah62:ah64,al62:al64,n66:n89")
      x.Value = Application.Proper(x.Value)
   Next
end sub
est-il possible d'accélérer cette macro qui prends environ 2 secondes à chaque changement de cellule?
je pense que je ne suis pas dans le bon évènement mais je ne vois pas où
merci de votre aide
 
Bonsoir

la mise en majuscule de la zone définie s'effectue dès que tu changes n'importe quelle cellule de ta feuille..
à priori, il faudrait que la mise en majuscule ne se fasse QUE si tu changes une des cellules de la zone..
donc. essaie ceci

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if not intersect(target, Range("z47,ad47,o51,s51,j55:j57,n55:n57,u55:u57,y55:y57,aj55:aj57,r62:r66,v62:v66,ah62:ah64,al62:al64,n66:n89")) is nothing then

      target.Value = Application.Proper(target.Value)
   end if
end sub
 
Bonjour le fil

Il faut lancer la macro seulement au moment d'un changement dans la cellule
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("z47,ad47,o51,s51,j55:j57,n55:n57,u55:u57,y55:y57,aj55:aj57,r62:r66,v62:v66,ah62:ah64,al62:al64,n66:n89")) Is Nothing Then
    ' Penser à désactiver les évènements
    Application.EnableEvents = False
    ' Mettre en majuscule
    Target.Value = Application.Proper(Target.Value)
    ' Réactiver les évènements
    Application.EnableEvents = True
   End If
End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour