Pb au niveau du "loop"

  • Initiateur de la discussion Initiateur de la discussion Fredrennes
  • Date de début Date de début

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 !

F

Fredrennes

Guest
Re-hello,

Voici ma macro :

Sub suppression()
Sheets("datas").Select
Range("J1").Offset(1, 0).Select
Do Until ActiveCell = Range("J10000")
If ActiveCell = "FALSE" Then
selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
Sheets("TCD").Select
Range("C20").Select
ActiveSheet.PivotTables("PivotTable5").RefreshTable
Cells.Select
Cells.EntireColumn.AutoFit
End Sub

Qd je presse F8, cela bloque à la ligne "loop" et le reste de la macro n'est pas lu...

Merci pour votre aide.

Cdlt

Fred
 
Bonsoir à tous,

Fred je supose que tu veux balayer J2 à J10000 et tester si false alors on supprime la ligne

or en comparant ActiveCell = Range("J10000"), tu compares la valeur c pour cela que ta boucle s'arrête la 1 ere fois

mais avec ActiveCell.address=range("J10000").address ta boucle se fera sur les 10000 lignes....



A+++
 
Bonjour,



Essayes avec :

Sub suppression()
Sheets("datas").Select
Range("J1").Offset(1, 0).Select
For i=1 to 10000
If ActiveCell = "FALSE" Then
selection.EntireRow.Delete
Else
ActiveCell.Offset(i, 0).Select
End If
next
Sheets("TCD").Select
Range("C20").Select
ActiveSheet.PivotTables("PivotTable5").RefreshTable
Cells.Select
Cells.EntireColumn.AutoFit
End Sub


@+
 
Zon,

Cette partie de la macro fonctionne impec isolée :

Sub suppression()
Sheets("datas").Select
Range("J1").Offset(1, 0).Select
Do Until ActiveCell = Range("J10000")
If ActiveCell = "FALSE" Then
selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
End Sub

Le problème est l'association des 2, tu vois ce que je veux dire ?

Alain, je vais tester ça, merci 🙂)

Cdlt

Fred
 
Re,


ce qui me réconforte c 'est qu'Alain a compris la même chose que moi tester la plage J2 J10000 mais il a fait d'une façon différente de toi, je reprends

"or en comparant ActiveCell = Range("J10000"), tu compares la valeur de 2 cellules pour cela que ta boucle s'arrête la 1 ere fois

mais avec ActiveCell.address=range("J10000").address ta boucle se fera sur les 10000 lignes.... "

Je ne vois pas où est le pb dans l'association des 2 puisque ta boucle est la même....


A+++
 
Hello,

Je crois que je me suis mal exprimé :

La 1ère partie de ma macro marche impec lorsqu'elle est isolée :

Sub suppression()
Sheets("datas").Select
Range("J1").Offset(1, 0).Select
Do Until ActiveCell = Range("J10000")
If ActiveCell = "FALSE" Then
selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
End Sub

Cette macro me permet de supprimer toutes les lignes lorsqu'il y a en colonne J la mention "False" à l'intérieur d'une cellule.

La fonction "Loop" me permet de faire agir la macro tant que toutes les lignes n'ont pas été supprimées.....en effet, la suppression d'une ligne entraîne la remontée de la future cellule active qui devrait théoriquement être traitée......donc en remontant celle-ci évite le traitement d'où l'utilisation de la fonction "Loop".


Mon pb arrive....

Si je laisse la fonction "Loop" en insérant une nouvelle macro à la suite du style :

Sub Update_Total()
Sheets("datas").Select
Range("J1").Offset(1, 0).Select
Do Until ActiveCell = Range("J10000")
If ActiveCell = "FALSE" Then
selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
Sheets("TCD").Select
Range("C16").Select
ActiveSheet.PivotTables("PivotTable5").RefreshTable
Cells.Select
Cells.EntireColumn.AutoFit
End Sub

Ma macro fonctionne mais si je fais "F8" pour la contrôler, cela bloque au niveau de la focntion "Loop", cela ne va pas plus bas......est-ce qu'il y a une conséquence ?

Merci à vous.

Cdlt

Fred
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
763
Réponses
22
Affichages
3 K
Réponses
2
Affichages
915
Réponses
57
Affichages
5 K
Retour