XL 2010 Procédure PasteSpecial - SOS Débogage

jeanba

XLDnaute Occasionnel
Bonjour à tout le Forum,

J'ai fait quelques recherches et avec l'aide en ligne de notre communauté XLNaute ci et là, j'ai pu réalisé le programme ci-joint.
Mais, depuis 2 jours, il plante sur une ligne relative à la procédure de collage spéciale Valeurs. Et oui, c'est le problème justement de nous autres qui copions/collons des codes sans tout comprendre...

En tout cas, j'ai besoin de votre aide, car je sais pas à quel niveau est le problème, surtout que le code s'exécute partiellement!

Voic le code et le fichier joint:

Code:
Sub CopierColler()
Dim wsh As Worksheet, derlig&, xrg As Range

Application.ScreenUpdating = False
Worksheets("Centralisation").Range("A2:H" & Rows.Count).ClearContents

    For Each wsh In ThisWorkbook.Worksheets
        If IsDate("1-" & wsh.Name) Then
            If Len(wsh.Range("A3")) > 0 Then
                With Worksheets("Centralisation")
                    derlig = wsh.Cells(Rows.Count, "A").End(xlUp).Row
                    If derlig > 2 Then
                        Set xrg = .Cells(Rows.Count, "B").End(xlUp).Offset(1)
                        wsh.Range("A3:G" & derlig).Copy xrg
                        xrg.PasteSpecial Paste:=xlPasteValues[/color]  ' C'est ici que ça bugue
                       xrg.Offset(, -1).Resize(wsh.Range("A8:G" & derlig).Rows.Count) = Month("1-" & wsh.Name)
                    End If
                End With
            End If
        End If
    Next wsh
   
End Sub
 

Pièces jointes

  • Jeanba_Copie Mois Centralisée v3.xlsm
    25.8 KB · Affichages: 27

Chris401

XLDnaute Accro
Bonsoir

Essaye :
VB:
Sub JnalGeneral()
Dim wsh As Worksheet, derlig&, xrg As Range

Application.ScreenUpdating = False
Worksheets("Centralisation").Range("A2:H" & Rows.Count).ClearContents

    For Each wsh In ThisWorkbook.Worksheets
        If IsDate("1-" & wsh.Name) Then
            If Len(wsh.Range("A3")) > 0 Then
                With Worksheets("Centralisation")
                    derlig = wsh.Cells(Rows.Count, "A").End(xlUp).Row
                    If derlig > 2 Then
                        Set xrg = .Cells(Rows.Count, "B").End(xlUp).Offset(1)
                        wsh.Range("A3:G" & derlig).Copy
                        xrg.PasteSpecial Paste:=xlPasteValues
                        xrg.Offset(, -1).Resize(wsh.Range("A3:G" & derlig).Rows.Count) = Month("1-" & wsh.Name)
                    End If
                End With
            End If
        End If
    Next wsh
   
End Sub
 

jeanba

XLDnaute Occasionnel
Re bonsoir M12 et Chris401,

Je profite de vous soumettre encore ce code, je sais pas ce que j'ai ce soir mais je vois que dalle...

L'objectif, sélectionner la feuille "Centralisation" et exécuter tout mon code que PasteSpecial que là dessus.
Là encore, il bloque et suis incable, en bon débutant, de voir à quel niveau... :
Code:
Private Sub USF05_CommandButton3_Click()
Unload Me
Application.ScreenUpdating = False
Worksheets("Centralisation").Select   'Il bloque à ce niveau avec ce message d'erreur dans le fichier joint...
   With Selection
        .Visible = True
        Call JnalGeneral
        Call ImprimerFeuilleActive
    End With
End Sub

Capture.JPG
 

jeanba

XLDnaute Occasionnel
Bonsoir Chris401,

Fichier trop lourd...
Mais, c'est juste ce petit code là!
Après avoir changer Worksheets("Centralisation") par Sheets(".."), il ne bloque plus là-dessus, mais sur la ligne d'après, plus précisément sur l'instruction ".Visible = True"
 

Roland_M

XLDnaute Barbatruc
Bonsoir,

c'est normal qu'il y ai erreur, ta feuille doit être cachée puisque tu fais: Visible = True
-------------------------------------------------------------------------------
Worksheets("Centralisation").Select 'Il bloque à ce niveau avec ce message d'erreur dans le fichier joint...
With Selection
.Visible = True
. . .
-------------------------------------------------------------------------------
pour sélectionner ta feuille il te faut d'abord la rendre visible !
Sheets("Centralisation") .Visible = True
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
321
Réponses
7
Affichages
430

Statistiques des forums

Discussions
312 198
Messages
2 086 143
Membres
103 129
dernier inscrit
Atruc81500