macro de recopie qui ne va pas jusqu'au bout

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 !

pascal21

XLDnaute Barbatruc
bonjour le forum
cette macro (réalisée avec l'enregistreur)est sensée recopier le contenu des différentes feuilles de mon classeur
mais elle s'arrète systématiquement à la 3eme feuille (rabo sommesous)
et je ne vois pas ce qui cloche
il faut peut-être la simplifier, mais je ne vois pas où


PHP:
Sub Macro1()

    Sheets("RABO DIJON").Select
    Range("E17:J790").Select
    Selection.Copy
    Sheets("Feuil1").Select
    Range("E4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("O4").Select
    Sheets("RABO DIJON").Select
    Range("P789").Select
    
    
    Sheets("RABO MULHOUSE").Select
    Range("E16:I955").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Feuil1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("X4").Select
    Sheets("RABO MULHOUSE").Select
    Range("N932").Select
    
    
    Sheets("RABO SOMMESOUS").Select
    Range("E15:F867").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Feuil1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("AB4").Select
    Sheets("RABO SOMMESOUS").Select
    Range("N15").Select
    
    
    Sheets("tracteurs et porteurs").Select
    Range("E21:AA1586").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Feuil1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("AY4").Select
    Sheets("tracteurs et porteurs").Select
    Range("AC1561").Select
    
    
    Sheets("remorques").Select
    Range("E21:P1962").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Feuil1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("BK4").Select
    Sheets("remorques").Select
    Range("Q21").Select
    
    
    Sheets("voitures").Select
    Range("E44:E46").Select
    ActiveWindow.SmallScroll Down:=-39
    Range("E15:S931").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Feuil1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("BZ4").Select
    Sheets("voitures").Select
    Range("T15").Select
    
    Sheets("Feuil1").Select
End Sub
merci pour votre aide
 
Re : macro de recopie qui ne va pas jusqu'au bout

Bonjour pascal21,

Sans pouvoir être catégorique, n'ayant pas ton fichier sous la main, il me semble que tu pourrais simplifier ta macro comme suit :

Code:
Sub Macro1()

With Sheets("Feuil1")
  Sheets("RABO DIJON").Range("E17:J790").Copy
  .Range("E4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
  
  Sheets("RABO MULHOUSE").Range("E16:I955").Copy
  .Range("??").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
  
  Sheets("RABO SOMMESOUS").Range("E15:F867").Copy
  .Range("??").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    
  Sheets("tracteurs et porteurs").Range("E21:AA1586").Copy
  .Range("??").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    
  Sheets("remorques").Range("E21:P1962").Copy
  .Range("??").Sheets("Feuil1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    
  Sheets("voitures").Range("E15:S931").Copy
  .Range("??").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  :=False, Transpose:=False
  Application.CutCopyMode = False        
End With

End Sub

Il suffit de remplacer les "??" par les adresses de cellules appropriées.

Ce que je trouve bizarre dans ton code, c'est que tu sélectionnes Feuil1 pour coller tes données, mais sans référencer de cellule de destination (sauf pour "RABO DIJON").

Saches, qu'en règle générale, il n'est pas nécessaire de sélectionner des cellules pour leur appliquer une action particulière. Cela ne fait qu'alourdir et ralentir l'exécution du programme.

Espérant avoir répondu, et en te souhaitant un bon dimanche.

Cordialement.
 
Re : macro de recopie qui ne va pas jusqu'au bout

Bonjour le fil,

Pascal,

J'ai omis de recopier les commentaires : en fait, j'ai lu ton code rapidement et je n'ai pas vu la nuance entre les lignes de copie des valeurs et des commentaires.

Heureusement, Jean-Marcel a bien fait le distingo !

Cordialement à tous.
 
- 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

Discussions similaires

Réponses
10
Affichages
791
Réponses
18
Affichages
597
Réponses
2
Affichages
398
Réponses
17
Affichages
1 K
Retour