Erreur 400 mais fonctionnement de la macro

Bonjour à tous,

J'ai réalisé une macro pour mon fichier Excel, cette macro fonctionne parfaitement mais à la fin de son exécution une erreur 400 intervient, j'ai essayé de trouver l'erreur en testant le code ligne par ligne mais rien à faire elle persiste et je ne connais pas la source, cette macro se trouve dans "EXTRACTION 2023" et se nomme "Feuil51.EffacerLignes".

Si quelqu'un a déjà eu cette expérience, je serais ravi de savoir comment le problème a été résolu.

Bonne journée à vous et bon week-end !

Bonjour,

C'est normal, vous voulez effacer la 1ère ligne (ligne des titres) du tableau structuré, là, il n'est pas content et il vous le dit.

Ensuite:

-Pourquoi avoir placé le code dans le module de la feuille, il faut qu'il soit dans un module standard (le module 1 va très bien).

-Votre tableau est un tableau structuré, la recherche de la dernière ligne se fait comme ceci:

    LastRow = Sheets("EXTRACTION 2023").ListObjects("Tableau2").DataBodyRange.Rows.Count

-et enfin, dans la boucle, votre test supprime la ligne s'il y a une erreur donc, lui dire directement, inutile de tester le fait que s'il n'y a pas d'erreur il ne doit ne rien faire. La ligne peut s'écrire comme ceci:

        If IsError(Application.Match(ActiveSheet.Cells(i, "A").Value, TextArray, 0)) Then Rows(i).Delete

Votre code en entier à placer dans le module 1

Sub EffacerLignes()
    Dim i As Long
    Dim LastRow As Long
    Dim TextArray As Variant
    TextArray = Array("FRCOM HYDRAULIQUE", "FRCOM COLLE/GRAISSE", "FRCOM COMMERCE", "FRCOM ELEC", "FRCOM ELECTRICITE", "FRCOM ELECTRONIQUE", "FRCOM HYDRAULIQUE", "FRCOM MECANIQUE", "FRCOM MOTEURS/MOTORE", "FRCOM PDTS CATALOGUE", "FRCOM PNEUMATIQUE", "FRCOM RESSORTS", "FRCOM RLTS/LINEAIRE", "FRCOM TRANSMISSION", "FRCOM VISS SPECIALE", "FRCOM VISS STANDARD", "FRMP FOND ALL CUIVRE", "FRMP FOND FONT/ACIE", "FRMP FONDERIE ALU", "FRMP FORGE", "FRMP METALLIQUES", "FRMP PLAST/COMPOSITE", "FRMP TUBES/PROFILES", "FRPR CONSO PEINTURE", "FRST CINTRAGE TUBE", "FRST DEC LAS/JT EAU", "FRST DECOLLETAGE", "FRST DECOUPE", "FRST DIVERS", "FRST ELEC/AUTO/ROBO", "FRST FORAGE", "FRST GRAV/POINCONNAG", "FRST JOINTS", "FRST MECANO SOUDURE", "FRST OXYCOUPAGE", "FRST PEINTURE", "FRST REVETEMENTS", "FRST TAILLAGE/BROCH", "FRST TOLERIE")
    LastRow = Sheets("EXTRACTION 2023").ListObjects("Tableau2").DataBodyRange.Rows.Count
    For i = LastRow To 2 Step -1
        If IsError(Application.Match(ActiveSheet.Cells(i, "A").Value, TextArray, 0)) Then Rows(i).Delete
    Next i
End Sub

Cdlt

Bonjour,

Merci pour vos explications et votre temps, je comprends mieux mon erreur désormais :)

Bon week-end !

Rechercher des sujets similaires à "erreur 400 fonctionnement macro"