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

Macro qui ne fonctionne plus

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 !

MoniqueL

XLDnaute Nouveau
Bonjour à tous et bonne année 🙂

Un Excell ent m'avait donné une macro qui fonctionnait à merveille. Mais voilà, la macro a du mal digérer la fin de l'année et elle bug.
Je ne sais pas débugger une macro et elle m'est très très utile vue le nombre de ligne à traiter.
Voici ma demande d'origine et la macro.

Merci pour toute aide apportée et
bonne recherche...
 

Pièces jointes

Bonjour

n'aurais tu pas changé le nom de tes feuilles??
exemple: tablo devrait se référer à la feuille Origine qui contient des datas.. ??

tablo = Sheets("Origine").Range(Cells(5, 1), Cells(derlin, dercol))
exécute ta macro en mode pas à pas (Touche F8), tu devrais identifier facilement la ou ca coince..
 
genre.. ca te donnerait ceci

VB:
Sub report()
Sheets("Feuil2").Range("A2:F" & Rows.Count).ClearContents
With Sheets("Origine")
    dercol = .Cells(5, Columns.Count).End(xlToLeft).Column
    derlin = .Cells(Rows.Count, 1).End(xlUp).Row
    tablo = .Range(Cells(5, 1), Cells(derlin, dercol))
    For n = LBound(tablo, 1) + 1 To UBound(tablo, 1)
        For m = 4 To UBound(tablo, 2)
            If tablo(n, m) > 0 Then
                With Sheets("Feuil2")
                    derl = .Cells(Rows.Count, 1).End(xlUp).Row + 1
                    .Cells(derl, 1) = tablo(n, 1)
                    .Cells(derl, 2) = tablo(n, 2)
                    .Cells(derl, 3) = tablo(n, 3)
                    .Cells(derl, 4) = tablo(1, m)
                    .Cells(derl, 6) = tablo(n, m)
                End With
            End If
            If tablo(n, m) < 0 Then
                With Sheets("Feuil2")
                    derl = .Cells(Rows.Count, 1).End(xlUp).Row + 1
                    .Cells(derl, 1) = tablo(n, 1)
                    .Cells(derl, 2) = tablo(n, 2)
                    .Cells(derl, 3) = tablo(n, 3)
                    .Cells(derl, 4) = tablo(1, m)
                    .Cells(derl, 5) = -tablo(n, m)
                End With
            End If
        Next m
    Next n
End With
Sheets("Feuil2").Select
End Sub
 
- 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
4
Affichages
729
Compte Supprimé 979
C
E
Réponses
4
Affichages
914
enzoreno
E
  • Question Question
XL 2010 Aide macro
Réponses
19
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…