Débugage d'une macro

Bonjour à tous,

Ci-joint un fichier sur lequel, j'ai un bug dans la macro "Actualiser"

Elle fonctionnait parfaitement bien avant que je ne change le format des cellules de référence (elles sont maintenant sous forme de liste) et voici le message sur la ligne n°8 de la macro "Actualiser"

"Erreur d'exécution '1004'

La méthode Copy de la classe Range a échoué"

Cette erreur apparaît lorsque je change une saison de référence dans la feuille "Hypothèse de ventes" et que j'actualise les données par le bouton "Actualiser Données" de la feuille "Répartition Budget"

Si quelqu'un pouvait me donner une solution....

Cordialement

Bonjour Accro,

Peux-tu expliciter ce que doit faire la macro "Actualiser"?

Je comprends que tu commences par vider la feuille "Compilation" mais que cherches-tu à faire sur les feuilles "Textile" et "Chaussures"?

Désolé de répondre si tardivement

Voici le problème

Dans la feuille " TEXTILE" et "Chaussures" les calculs ne sont pas les mêmes.

Si j'exécute la macro "Actualiser" le feuille "TEXTILE" et CHAUSSURES sont bien copiées dans la feuille "Compilation" mais avec les mêmes calculs et se n'est pas se que je souhaite

Cordialement

Bonjour Accro,

Quels sont les calculs auxquels tu fais référence ?

Je n'est détecté que les calculs sur la colonne "Total Achat" qui sont identiques sur les 2 feuilles.

Bonjour,

Non, les calculs dans la feuille "Textile" pour la colonne Prix Normal, 10%,20%,30%,50% et Invendu font référence aux cellules de la feuille "Hypothèse des ventes" ligne 17 et 18, alors que la feuille "Chaussures" les mêmes colonnes font référence aux lignes 36 et 37.

Lorsque j'exécute la macro "Actualiser" qui devrait coller toutes les lignes des feuilles "Textile" et "Chaussures" avec les calculs de référence dans la feuille "Compilation", celle-ci les collent avec seulement les calculs de la feuille "Chaussures" (référence aux lignes 36 et 37)

Cordialement

ACCRO,

Ah OK, toutes mes excuses, j'avais pas vu les colonnes cachées...

Je regarde ton problème et te reviens

ACCRO,

Je propose de modifier "Actualiser()" de la façon suivante :

    For Each ws In Worksheets ::~ 
        If ws.Name = "Chaussures" Or ws.Name = "Textile" Then
            ws.Cells(Rows.Count, 1).End(xlUp).CurrentRegion.Offset(1, 0).Resize(ws.Cells(Rows.Count, 1).End(xlUp).CurrentRegion.Rows.Count - 1).Copy
            Sheets("Compilation").Cells(ligne, 1).PasteSpecial xlPasteValues

            ligne = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        End If
    Next

Bonjour et merci pour votre intervention...

Je vais intégrer votre code et faire des tests

Encore merci

Je vous tiens informé

Cordialement

Rechercher des sujets similaires à "debugage macro"