XL 2019 direct plus rapide

frederio

XLDnaute Impliqué
Bonsoir a tous

Tu vous connais comment faire code vba

Je voudrais copie toujours la plage G5 à H375 Sur la 1ère feuille "JUPILER PRO LEAGUE" Et Sur la 2ère feuille "%" coller I5 à J409

La macro s'exécute en 0,10 seconde et peut aller plus vite.

Si tu veux être d’accord avec moi ??? vous m’aidez a expliqué comme Excel Merci
 

Pièces jointes

  • Belgique.xlsm
    871.7 KB · Affichages: 7

job75

XLDnaute Barbatruc
Bonjour frederio,
Si tu veux être d’accord avec moi ???
Ben moi pas d'accord, c'est G4 et pas G5...

Et vous pourriez vous arranger pour qu'il y ait le même nombre de lignes vides entre les tableaux, non ?.

Mais bof lancez cette macro du Module1 :
VB:
Sub Transfert()
Dim source As Range, dest As Range, jour%
Set source = Sheets("JUPILER PRO LEAGUE").[G4:H12]
Set dest = Sheets("%").[I5:J13]
Application.ScreenUpdating = False
For jour = 1 To 34
    dest(0, -1) = "JOURNEE " & jour 'titre
    dest = source.Value 'copie les valeurs
    Set source = source.Offset(11)
    Set dest = dest.Offset(12)
Next
End Sub
Chez moi sur Win 11 Excel 2019 elle s'exécute en 3,6 secondes.

A+
 

Pièces jointes

  • Belgique.xlsm
    846.2 KB · Affichages: 1

job75

XLDnaute Barbatruc
En ajoutant les Application.Calculation l'exécution se réduit à 0,20 seconde :
VB:
Sub Transfert()
Dim source As Range, dest As Range, jour%
Set source = Sheets("JUPILER PRO LEAGUE").[G4:H12]
Set dest = Sheets("%").[I5:J13]
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For jour = 1 To 34
    dest(0, -1) = "JOURNEE " & jour 'titre
    dest = source.Value 'copie les valeurs
    Set source = source.Offset(11)
    Set dest = dest.Offset(12)
Next
Application.Calculation = xlCalculationAutomatic
End Sub
 

Pièces jointes

  • Belgique(1).xlsm
    845.3 KB · Affichages: 2

frederio

XLDnaute Impliqué
c'est parfait ! j ai fait déjà tous 8 fichier Excel vba

oublie ajouter ôtez la protection VB


1.jpg
2.jpg
 

job75

XLDnaute Barbatruc
Si la feuille de destination est protégée il faut connaître le mot de passe, si c'est "toto" :
VB:
Sub Transfert()
Dim source As Range, dest As Range, jour%
Set source = Sheets("JUPILER PRO LEAGUE").[G4:H12]
Set dest = Sheets("%").[I5:J13]
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
dest.Parent.Protect "toto", UserInterfaceOnly:=True
For jour = 1 To 34
    dest(0, -1) = "JOURNEE " & jour 'titre
    dest = source.Value 'copie les valeurs
    Set source = source.Offset(11)
    Set dest = dest.Offset(12)
Next
Application.Calculation = xlCalculationAutomatic
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 085
Membres
103 461
dernier inscrit
dams94