Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1444 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  supprimer des lignes en fonction d'une valeure située sur la 5 eme col

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

supprimer des lignes en fonction d'une valeure située sur la 5 eme col

n°2077061
kesdo93220
Posté le 19-05-2011 à 12:06:19  profilanswer
 

--------------------------------------------------------------------------------
 
Bonjour voici le problème,  
 
J'aimerai supprimer des lignes en fonction d'une valeure située sur la 5 eme colonne derniere ligne.
J'ai crée une boucle mais cela ne supprime qu'une ligne (la derniere)
Pouvez vous m'aidez?
merci d'avance.
 
mon code:  
 
h = Cells(1, 5).End(xlDown).Row
 
For i = Cells(1, 5).CurrentRegion.Rows.Count To 1 Step -1
If Cells(i, 5).Value = Cells(h, 5).Value Then Cells(i, 5).EntireRow.Delete
Next

mood
Publicité
Posté le 19-05-2011 à 12:06:19  profilanswer
 

n°2077083
C501
ID PSN : Ur-501
Posté le 19-05-2011 à 13:16:32  profilanswer
 

A mon sens ca vient du fait que quand tu supprimes la ieme ligne il retombe dessus.
si je comprends bien tu as une zone en haut et tu veux supprimer les lignes de cette zone qui ont le meme valeur que la derniere.  
 
Essaie de faire ca
 
h= cells(Cells(1,5).end(xlup).row,5).value 'on stocke la valeur plutot que la position, qui change
g = cells(1,5).currentregion.rows.count
 
i=1
Do  
if cells(i,5).value = h then
 rows(i).delete
 g=g-1 'la fin est moins loin d'une valeur du coup
 i=i-1 'sinon je raterai une case
Endif
I=i+1 ' incrementation classique
Loop while (i<g) 'tant qu'on est pas arrive a la fin.  
 
Tu en penses quoi ? (depuis mon iPhone je peux pas tester)


---------------
Sleep is overrated...
n°2077108
kesdo93220
Posté le 19-05-2011 à 14:00:07  profilanswer
 

C501 a écrit :

A mon sens ca vient du fait que quand tu supprimes la ieme ligne il retombe dessus.
si je comprends bien tu as une zone en haut et tu veux supprimer les lignes de cette zone qui ont le meme valeur que la derniere.  
 
Essaie de faire ca
 
h= cells(Cells(1,5).end(xlup).row,5).value 'on stocke la valeur plutot que la position, qui change
g = cells(1,5).currentregion.rows.count
 
i=1
Do  
if cells(i,5).value = h then
 rows(i).delete
 g=g-1 'la fin est moins loin d'une valeur du coup
 i=i-1 'sinon je raterai une case
Endif
I=i+1 ' incrementation classique
Loop while (i<g) 'tant qu'on est pas arrive a la fin.  
 
Tu en penses quoi ? (depuis mon iPhone je peux pas tester)


 
J'ai changé end(xlup) par end(xldown) et ca marche nikel!!! merci beaucoup !!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  supprimer des lignes en fonction d'une valeure située sur la 5 eme col

 

Sujets relatifs
Php fonction rename qui donne des noms bizzares en 13 caracteres.Supprimer BDD avec 'checkbox'
fonction d'interpolation pour plus d'une colonnecalcul d'une fonction dans un tableau
Supprimer un dossier dans une archive Java avec un.batcode pour le calcul d'une fonction à partir d'une matrice
heuteur de div auto en fonction des autresXSLT: utilisation de la fonction position() dans <for-each> imbriqués
Fonction strstr, question sur ce qu'elle renvoit.fonction exec()
Plus de sujets relatifs à : supprimer des lignes en fonction d'une valeure située sur la 5 eme col


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR