Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Précision macro

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

Fredrennes

Guest
Hello,

Voici une petite macro me permettant de supprimer certaines lignes de mon fichier à partir du moment où je retrouve la mention "False" dans une cellule :

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


Nous en avions ddéjà discuté ici mais j'aimerais que vous me précisiez le sens de ces 2 lignes :

Else
ActiveCell.Offset(1, 0).Select

Je crois qu'elles avaient été rajoutées pour bien prendre en compte toutes les lignes....en effet, à partir du moment ou une ligne était supprimée, la cellule active remontait d'une ligne et ainsi "échappait" à la suppression...

Merci à ceux qui tenteront de me décortiquer les différentes fonctions de ces 2 lignes.

Amicalement
Fred
 
S

sousou

Guest
C'est bien dans ce sens:

Si la cellule = false alors
ont supprime la ligne
la ligne inférieur remonte, et nous somme donc près pour la suivante.
et de if

Sinon,
ont ne supprime pas de ligne, il faut donc descendre d'une ligfne pour être près à la suivante: C'est le but de l'instruction
activecell.offset(1,0)
la cellule active +1 ligne sera selectionnée
 

Discussions similaires

Réponses
12
Affichages
815
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…