Macro VBA qui plante le fonctionnement de l'Excel

Bonjour tout le monde,

Mon code VBA semble n'avoir acun problème puisque je le test sur une petite base de données il marche correctement mais une fois que je l'applique à ma base de données originale, il plante le classeur Excel sur le quel je travaille. Bref, je veux supprimer toutes les lignes dont les cellules de la colonne F ont une valeur de 0.

Voici le code que j'ai développé.

Merci d'avance.

Sub Cells_Delete()

' Optimisation de vitesse

Application.ScreenUpdating = False

Application.EnableEvents = False

Application.Calculation = xlCalculationManual

Worksheets("Tableau du PI Rend Fam Rend Per").Activate

Dim n%, i%

Application.ScreenUpdating = False

With Worksheets("Tableau du PI Rend Fam Rend Per")

n = .Range("F" & .Rows.Count).End(xlUp).Row

For i = n To 2 Step -1

If Range("F" & i) = 0 Then .Range("F" & i).EntireRow.Delete

Next i

End With

'Message de fin

MsgBox "Done"

ResetSettings:

'Reseter les param?tre de macro optimazer

Application.EnableEvents = True

Application.Calculation = xlCalculationAutomatic

Application.ScreenUpdating = True

End Sub

Bonjour,

Essaie ainsi, mais cela doit pouvoir s'optimiser.

Cdlt.

Public Sub Cells_Delete()
Dim n As Long, i As Long

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

    With Worksheets("Tableau du PI Rend Fam Rend Per")
        n = .Range("B" & .Rows.Count).End(xlUp).Row
        For i = n To 2 Step -1
            If .Range("B" & i) = 0 Then .Range("B" & i).EntireRow.Delete
        Next i
    End With

    MsgBox "Done", 64, "Information"

   Application.Calculation = xlCalculationAutomatic

End Sub

Bonjour Jean-Eric,

J'ai essayé ta proposition mais ça marche pas, il plante encore l'Excel.

Merci Cordialement,

Re,

Joins ton fichier, anonymisé si nécessaire.

Cdlt.

Question,

En fait je peux pas partager avec vous les données puisque c'est qlq chose de confidentiel à l'entreprise.

Jean en fait la colonne F est rempli grâce à un code qui fait la division de 2 colonnes d'une autre feuille.

J'ai tester ta solution en faisant copier coller de la colonne F sur un autre classeur et du coup elle a marché mais quand je reviens sur mon classeur original c'est toujours le même problème qui persiste

Bonjour,

Je pense que le problème est que la colonne F est remplie grâce à une macro qui prend les valeurs des 2 colonnes d'une autre feuille et qui contiennent à leurs tours des formules et non pas des valeurs alors moi j'ai recopié par le biais de cette macro juste les valeurs en plus ma colonne F c'est le rapport des cellules D et E et à titre d'information le classeur sur le quel je travaille contient 10 modules puisque en fait j'ai pas mal d'opérations à faire.

Bonjour,

Je pense que le problème est que la colonne F est remplie grâce à une macro qui prend les valeurs des 2 colonnes d'une autre feuille et qui contiennent à leurs tours des formules et non pas des valeurs alors moi j'ai recopié par le biais de cette macro juste les valeurs en plus ma colonne F c'est le rapport des cellules D et E et à titre d'information le classeur sur le quel je travaille contient 10 modules puisque en fait j'ai pas mal d'opérations à faire.

Bonjour, l'évènement déclencheur de ce calcul est dans worksheet change ? ou est-ce une évènement particulier ?

Bonjour Xmenpl, J'ai pas vraiment sais ta question comment l'élément déclencheur??

Merci d'avance.

Bonjour Xmenpl, J'ai pas vraiment sais ta question comment l'élément déclencheur??

Merci d'avance.

Re, je voulais parler de la macro qui se lance pour le calcul de la colonne "F" elle se lance manuellement ? par un bouton ? à l'ouverture du fichier ? …

( c'est çà l'évènement déclencheur )

Bonjour Xmenpl, J'ai pas vraiment sais ta question comment l'élément déclencheur??

Merci d'avance.

Re, je voulais parler de la macro qui se lance pour le calcul de la colonne "F" elle se lance manuellement ? par un bouton ? à l'ouverture du fichier ? …

( c'est çà l'évènement déclencheur )

Désolé, je t'ai pas compris au départ. La macro se lance par un bouton. Mais en quoi cela est important Xmenpl?

Bonjour Xmenpl, J'ai pas vraiment sais ta question comment l'élément déclencheur??

Merci d'avance.

Re, je voulais parler de la macro qui se lance pour le calcul de la colonne "F" elle se lance manuellement ? par un bouton ? à l'ouverture du fichier ? …

( c'est çà l'évènement déclencheur )

Désolé, je t'ai pas compris au départ. La macro se lance par un bouton. Mais en quoi cela est important Xmenpl?

Pour avoir confirmation si elle pouvait être à l'origine du bug mais apparemment non si elle est déclenchée par un Bouton ;

elle ne se déclenche pas en même temps que l'autre.

Tu ne peux pas joindre un fichier en remplaçant les données personnelles confidentiels par des données anonymes ?

il y a peut-être d'autres lignes ligne vba qui gènent ?

Re, je voulais parler de la macro qui se lance pour le calcul de la colonne "F" elle se lance manuellement ? par un bouton ? à l'ouverture du fichier ? …

( c'est çà l'évènement déclencheur )

Désolé, je t'ai pas compris au départ. La macro se lance par un bouton. Mais en quoi cela est important Xmenpl?

Pour avoir confirmation si elle pouvait être à l'origine du bug mais apparemment non si elle est déclenchée par un Bouton ;

elle ne se déclenche pas en même temps que l'autre.

Tu ne peux pas joindre un fichier en remplaçant les données personnelles confidentiels par des données anonymes ?

il y a peut-être d'autres lignes ligne vba qui gènent ?

Salut Xlmenp, j'ai essayé de mon mieux de construire un classeur semblable au mien mais lc'est vraiment lamentable

Je sais pas si ça vous serez utile ou non, j'ai besoin du temps pour construire un classeur pareil, il contient 6 feuille avec 10 modules. la feuille concernée extrait les données d'une autre feuille ou ses données la sont remplies grâce à des formules excel moi dans la feuille concerné j'ai recopie juste les valeurs par une macro aussi la colonne concernée est remplie en faisant le rapport des valeurs recopiées de l'autre feuille.

A titre d'infos la feuille contient plus de 800 lignes de données.

Merci d'avance Xlmenp, et je souhaite vraiment savoir des syntaxes qui optimise le fonctionnement d'une macro parceque en fait je pense qu'il n'y a pas un problème au niveau de mes syntaxes mais un problème de capacité de traitement de l'Excel en déployant cette macro.

Merci.

S.O.S S.O.S S.O.S quelqu'un peut m'aider???????

Rechercher des sujets similaires à "macro vba qui plante fonctionnement"