XL 2010 excel se ferme tout seul à un moment de la macro

david54520

XLDnaute Junior
Bonjour les sachants VBA :)

Ca coince depuis ce matin.....
A la fin de la macro ci dessous (Delete) excel ferme tous les tableaux ouverts et bien sûr....ne réalise pas l'opération demandée : supprimer les lignes filtrées
- I2 est la dernière ligne remplie
- plf est la première ligne visible suite au filtrage

si quelqu'un, quelqu'une a une idée de ce qui se passe....je suis totalement preneur et serais trés reconnaissant !

merci d'avance !!


Sub essai_2()
Dim i2 As Integer
Dim plf As Integer
i2 = Workbooks("mon_tableau.xlsm").Sheets("base").Range("d6").Value - 1

Windows("mon_tableau.xlsm").Activate
plf = ActiveSheet.Range("$AR$31:$AU$" & i2).Offset(1, 0).Resize(Range("$AR$31:$AU$" & i).Rows.Count - 1).SpecialCells(xlCellTypeVisible).Row

Application.CutCopyMode = False

Range("a" & plf & ":a" & i2).EntireRow.Select
Selection.Delete

End Sub


merci d'avance !!
David
 
Solution
Bonjour les sachants VBA :)

Ca coince depuis ce matin.....
A la fin de la macro ci dessous (Delete) excel ferme tous les tableaux ouverts et bien sûr....ne réalise pas l'opération demandée : supprimer les lignes filtrées
- I2 est la dernière ligne remplie
- plf est la première ligne visible suite au filtrage

si quelqu'un, quelqu'une a une idée de ce qui se passe....je suis totalement preneur et serais trés reconnaissant !

merci d'avance !!


Sub essai_2()
Dim i2 As Integer
Dim plf As Integer
i2 = Workbooks("mon_tableau.xlsm").Sheets("base").Range("d6").Value - 1

Windows("mon_tableau.xlsm").Activate
plf = ActiveSheet.Range("$AR$31:$AU$" & i2).Offset(1, 0).Resize(Range("$AR$31:$AU$" & i).Rows.Count -...

Jacky67

XLDnaute Barbatruc
Bonjour les sachants VBA :)

Ca coince depuis ce matin.....
A la fin de la macro ci dessous (Delete) excel ferme tous les tableaux ouverts et bien sûr....ne réalise pas l'opération demandée : supprimer les lignes filtrées
- I2 est la dernière ligne remplie
- plf est la première ligne visible suite au filtrage

si quelqu'un, quelqu'une a une idée de ce qui se passe....je suis totalement preneur et serais trés reconnaissant !

merci d'avance !!


Sub essai_2()
Dim i2 As Integer
Dim plf As Integer
i2 = Workbooks("mon_tableau.xlsm").Sheets("base").Range("d6").Value - 1

Windows("mon_tableau.xlsm").Activate
plf = ActiveSheet.Range("$AR$31:$AU$" & i2).Offset(1, 0).Resize(Range("$AR$31:$AU$" & i).Rows.Count - 1).SpecialCells(xlCellTypeVisible).Row

Application.CutCopyMode = False

Range("a" & plf & ":a" & i2).EntireRow.Select
Selection.Delete

End Sub


merci d'avance !!
David
Bonjour,
Non testé..
Il y a dans ce code
Resize(Range("$AR$31:$AU$" & i).Rows.Count
une variable ==>i qui se sent seule

 
Dernière édition:

Jacky67

XLDnaute Barbatruc
Bonjour Jacky67

Tout fonctionne; c'est parfait
Merci pour ton appui !

a une autre fois peut-être
Re..
Tout est bien alors..
Si "Option Explicit" était en début de module, cette erreur serait de suite détectée par Excel
Une suggestion 😇
Range("a" & plf & ":a" & i2).EntireRow.Select
Selection.Delete
Le select est inutile et ralentit le code
Code:
Range("a" & plf & ":a" & i2).EntireRow.Delete

Ps: Mettre sa propre réponse comme solution, n'est pas une bonne idée:rolleyes:
 
Dernière édition:

david54520

XLDnaute Junior
merci pour ses dernière précisions et je vais donc peaufiner le code tel que tu l'as proposé

En cochant, Je voulais juste dire que le problème était résolu. et bien sûr ... grâce à ton appui ! j'ai donc modifié, en mettant la coche me semble t-il, au bon endroit
trés bonne continuation ! David
 

Discussions similaires

Statistiques des forums

Discussions
315 096
Messages
2 116 183
Membres
112 677
dernier inscrit
Justine11