[Résolu] Bug suivant la page où est lancée la macro

simraill

XLDnaute Occasionnel
Bonjour à tous,
j'ai un bug assez génant, et je ne comprends vraiment pas d'où il vient.

En fait mon fichier reprends tous les mois les heures passé sur un projet.
Et chaque pages sont liées à celle du mois précédent ligne par ligne.

Donc si j'effectue un tri alphabétique, celà va me ressortir des fausse données (du fait qu'il y ai moins de commande le moi précédent, ça va tous décaler).

J'ai eu l'idée de faire un tri, faire une comparaisont entre deux même ligne d'un même mois pour voir si c'est la même commande, et si ça ne l'est pas, d'ajouter une ligne vide dans le mois précedent. De ce fait je me retrouve avec le même nombre de ligne dans tous les mois/pages

Quand je me met sur le dernier mois, ma macro fonctionnent (exepté quand il y a des filtres, mais je pense que c'est le même problème), mais si je ne me met pas sur la dernière page, ça ne marche pas. Ca me rajoute quelque lignes mais pas toutes...

Ca fait 2 jours que je galére à comprendre d'où ça vient, comprend pas...

Si quelqu'un à une solution je lui serait infiniment reconnaissant.

Merci
Simraill
 

Pièces jointes

  • Poc modif 2 janv_2013.xlsm
    265.7 KB · Affichages: 35
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Bug suivant la page où est lancée la macro

Bonjour simraill,

peut-être cette formule en G10 à copier vers le bas:
Code:
=SIERREUR(RECHERCHEV(B10;INDIRECT("'"&TEXTE(MOIS.DECALER($D$4;-1);"mmmm aaaa") & "'!$B$10:$F$1000");5;FAUX);"")

Cette formule est indépendante des lignes de la feuille précédente et devrait permettre le tri d'une feuille ou l'autre tout en conservant les bonnes valeurs.

Si OK, il faudra adapter les autres formules analogues des autres colonnes de manière similaire.
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : Bug suivant la page où est lancée la macro

Simraill,

Visuellement déjà un problème , a corriger et donc tester ensuite :

Code:
'***** Réinitialise les filtres
    For i = 1 To s
        With Sheets(i)
            If .FilterMode = True Then
                .Unprotect ("admin")
                .AutoFilterMode = False

 ' Ancienne syntaxe
               ' Range("B9:T9").AutoFilter
' Modifier par afin de viser les cellules de la bonne feuille
                .Range("B9:T9").AutoFilter


                .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
                    , AllowFormattingCells:=True, AllowFiltering:=True, Password:="admin"
            End If
        End With
    Next i
 

simraill

XLDnaute Occasionnel
Re : Bug suivant la page où est lancée la macro

@camarchepas : effectivement j'avais oublié le point pour le with.
Mais le problème ne doit pas venir de là étant données que même quand je vire cette partie pour réinitialiser les filtres j'ai le même bug...

@mapomme : je vais essayer cette formule, c'est vrai que ne plus avoir l'interdépendance des lignes entre les feuilles serait pas mal :D
 

simraill

XLDnaute Occasionnel
Re : Bug suivant la page où est lancée la macro

@mapomme : Elle est parfaite ta formule, ça marche niquel, maintenant je peut faire mes tri sans problème :D!! Merci

Par contre toujours pas compris d'où viens le bug, si quelqu'un sait pourquoi je suis curieux de connaitre la raison.
 

camarchepas

XLDnaute Barbatruc
Re : Bug suivant la page où est lancée la macro

Alors encore un autre truc visuel ,

dl = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row ce trouve en début de programme ,

alors qu'il devrait être dans la boucle pour prendre en compte la dernière ligne pour chacune des feuilles
 

simraill

XLDnaute Occasionnel
Re : Bug suivant la page où est lancée la macro

Ok je viens de comprendre ce que tu voulais dire @camarchepas.
J'ai trouvé le bug, au lieux de faire :
Code:
dl = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row
s= sheets.count

il me suffit de mettre :

Code:
s= sheets.count
dl = Sheets(s).Range("B" & Rows.Count).End(xlUp).Row

Et là tout de suite plus de problème !!

Merci à vous deux pour votre aide :D, je passe en résolu ^^!
 

Discussions similaires

Réponses
2
Affichages
132

Statistiques des forums

Discussions
312 489
Messages
2 088 850
Membres
103 974
dernier inscrit
chmikha