Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 simplifier une macro

gothc

XLDnaute Occasionnel
Bonjour j'ai besoin de votre aide pour simplifier une macro
VB:
Sub colle()
Application.ScreenUpdating = False
    Sheets("B").Select
    
    Range("h21").Select
    Selection.Copy
    Sheets("test").Select
    
    Range("b23").Activate
    ActiveSheet.Paste
    Application.ScreenUpdating = False
    Sheets("B").Select
    
    Range("h23").Select
    Selection.Copy
    Sheets("test").Select
    
    Range("D23").Activate
    ActiveSheet.Paste
End Sub
Merci
 

youky(BJ)

XLDnaute Barbatruc
Juste pour taquiner et dire bonjour à Sylvanu,
Bruno
VB:
Sub Colle2()
    Application.ScreenUpdating = False
    With Sheets("test")
        .[b23]= Sheets("B").[h21]
        .[d23]= Sheets("B").[h23]
    End With
End Sub
 

Magic_Doctor

XLDnaute Barbatruc
Re tout le monde,
Ou mieux en deux lignes :
VB:
Sub Colle4()
    Application.ScreenUpdating = False: Set D = Sheets("test"): Set S = Sheets("B")
    D.[b23] = S.[h21]: D.[d23] = S.[h23]
End Sub
Bonjour sylvanu,

Bel exercice de style.
Une question. Pourquoi ne pas terminer par Application.ScreenUpdating = True ?
J'ai l'impression (car vu ailleurs) que ce n'est pas nécessaire, mais j'aimerais bien savoir pourquoi.
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
Bonjour à tous
@Magic_Doctor
très bonne question
dans le sens ou selon les versions de Excel il n'y a pas le même comportement
sur 2007 par exemple une fois la macro fini donc après en (end sub) c'a revient a true automatiquement
sur 2013 il faut le remettre

cela dit entre nous ,pour 2 cellules dans cet exercice il n'est pas vraiment utile de déactiver le rafraîchissement
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour le fil, le forum

Suite à ce genre de problème, rencontré aussi avec Application.DisplayAlerts sur certaines versions, j'ai pris l'habitude, il y a des années, de toujours réactiver tout ce que je désactive, en le gérant également dans mes programmes avec une routine de gestion d'erreurs pour réactiver dans tous les cas. Je trouve de toute façon cela plus propre et ça fait ceinture et bretelles.

Bien cordialement, @+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…