Test logique puis masquage de la ligne correspondante?

Test logique puis masquage de la ligne correspondante? - VB/VBA/VBS - Programmation

Marsh Posté le 30-06-2005 à 12:03:37    

Bonjour,
 
Je suis en train de créer (enfin, pas vraiment, vu que j'y arrive pas :D) une macro à insérer dans ma macro auto_open()
 
Le principe est que la macro teste les cellules G1 à G200 pour voir si le texte "ABC" y est présent ou non...
 
La macro devrait ensuite sélectionner l'inverse de ces cellules, et donc masquer les lignes entières dans lesquelles la cellule G correspondante ne contient pas "ABC"...
 
Si quelqu'un a une piste, je suis preneur ;)
 
Merci d'avance ;)

Reply

Marsh Posté le 30-06-2005 à 12:03:37   

Reply

Marsh Posté le 30-06-2005 à 12:40:01    

Un chtitup :)

Reply

Marsh Posté le 30-06-2005 à 15:04:28    

Rechtitup ;)

Reply

Marsh Posté le 30-06-2005 à 16:59:20    

Un truc du genre
 
For i = 1 to 200
  if range("G" & i) = "ABC" then
    Rows(i).RowHeight = 0
  end if
next
 
ca te va??

Reply

Marsh Posté le 30-06-2005 à 21:34:10    

bonsoir,
Sinon il ya aussi cet article là :

Code :
  1. Sub test()
  2. For i = 1 To 200
  3. If InStr(1, Cells(i, 7), "ABC", 1) = 0 Then Rows(i).Hidden = True
  4. Next
  5. End Sub


Instr est capable de détecter tachaine dans une chaine plus grande...
A+


---------------
roger
Reply

Marsh Posté le 30-06-2005 à 23:49:58    

Je connaissais pas InStr...
Merci du tuyeau!

Reply

Marsh Posté le 01-07-2005 à 00:02:40    

Je propose ceci qui correspond mieux au résultat demandé:

Private Sub Workbook_Open()
  Dim rRange As Range
  Dim vCell As Variant
  Set rRange = Range([G1], [G200])
  For Each vCell In rRange
    If InStr(1, UCase(vCell), "ABC" ) = 0 Then
      vCell.EntireRow.Hidden = True
    End If
  Next vCell
End Sub


Accessoirement, il est déconseillé d'utiliser encore la macro auto_open qui a été gardée pour "compatibilité arrière".
Il est recommandé d'utiliser l'événement Open de ThisWorkbook.


Message édité par AlainTech le 01-07-2005 à 00:30:56

---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed