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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Probléme selection multiple [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probléme selection multiple [Résolu]

n°1989611
GohanSSj2
Posté le 03-05-2010 à 10:27:14  profilanswer
 

Bonjour à tous,
 
J'ai un petit souci de selection.
 
Voici mon code

Code :
  1. Sub Test()
  2. For I = 1 To Range("AC2", Range("AC2" ).End(xlDown)).Cells.Count Step 1
  3. If Sheets("CodeStationHN" ).Range("B2:B52" ).Find(what:=Range("AC2", Range("AC2" ).End(xlDown)).Cells(I).Value) Is Nothing Then
  4. Range("AC2", Range("AC2" ).End(xlDown)).Cells(I).EntireRow.Select Replace:=False
  5. End If
  6. Next
  7. End Sub


 
J'ai une erreur à la ligne 5
 
Lorsque j'enléve le Replace:=False à la fin, la macro marche bien mais me selectionne mes lignes les unes aprés les autres sans tenir compte des précédentes. Donc en mettant Replace:=False cela devrait marcher ... mais non lol.
J'arrive pas à piger pourquoi.
 
Avez-vous une idée ?


Message édité par GohanSSj2 le 03-05-2010 à 16:08:43
mood
Publicité
Posté le 03-05-2010 à 10:27:14  profilanswer
 

n°1989618
GohanSSj2
Posté le 03-05-2010 à 10:44:21  profilanswer
 

Petite précision : Le but est de selectionner toutes les lignes qui ne correspondent pas au critére définie dans la fonction If.
 
Je souhaite ensuite supprimer toutes ces lignes par un entirerow.delete
 
Au début j'avais insérer le entirerow.Delete aprés le Then (le code est légérement différent avec un Step -1, etc.) mais l'execution de la commande était vraiment trop long.
Donc en selectionnant tous puis en supprimant une seule fois je pense que cela ira plus vite que de supprimer les lignes une à une.

n°1989863
GohanSSj2
Posté le 03-05-2010 à 16:07:44  profilanswer
 

C'est bon j'ai trouvé, il fallait utiliser la commande Union
 
Voici le code pour ceux que ça interesse.
 

Code :
  1. Sub Test()
  2. Dim Rs As Range, Rst As Range
  3. For Each c In Range(Range("AC2" ), Range("AC2" ).End(xlDown))
  4. If Sheets("CodeStationHN" ).Range("B1:B52" ).Find(what:=c.Value) Is Nothing Then
  5. Set Rs = c.EntireRow
  6. If Rst Is Nothing Then
  7. Set Rst = Rs
  8. Else
  9. Set Rst = Application.Union(Rst, Rs)
  10. End If
  11. End If
  12. Next
  13. Rst.Select
  14. End Sub
  15. Selection.Delete


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

  Probléme selection multiple [Résolu]

 

Sujets relatifs
Covariance VBA: Problème[CSS] Problème taille typo
Probleme avec lgsl_v5.7_e107 gametrackerProblème d'iframe qui redirige...
Problème avec les "à" qui deviennent des "�"Problème de boucle [resolu]
Petit probleme de macro VBA sous Excelprobleme pour cacher les erreurs de connexion à database
Probléme avec phpmyadmin et easyphp 5.3.1.0 
Plus de sujets relatifs à : Probléme selection multiple [Résolu]


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