VBA

Bonjour à tous
j'ai un petit soucis:
voici mon programme qu'il faut compléter
Private Sub Barchiver_Click()
Dim Limite As Long

Range("Y2").Select
While (ActiveCell.Value <> 0)
ActiveCell.Offset(1, 0).Select

Wend
Limite = (ActiveCell.Row - 1)
Range("A2:AA" & Limite).Select

Ce programme regarde les valeurs des cellules de la colonne Y, et si cette valeur est différente de zéro il sélectionne la ligne.Mais le problème c'est que si la ligne 3 par exemple à un zéro dans la cellule de la colonne Y le programme s'arrete et sélectionne que les deux premières lignes sans regarder si les cellules après la ligne 3 sont différents de zéro.
Merci beaucoup à ceux ou celles qui pourront m'aider
bisous
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. Bien sur, il faut changer le test

    If Range("G" & i).Value <> 0 Then
    par
    If Range("Y" & i).Value <> 0 Then 'si c'est la colonne Y qui t'interesse

    A+.
    1. Bonjour,

      Je viens juste de répondre à ce problème dans la discussion créée par Nico004
      Il était question de la colonne G et maintenant c'est la colonne Y
      Il faudra adapter.
      Sub Macro1()
      Dim i As Integer, fin As Integer
          ActiveCell.SpecialCells(xlLastCell).Select
          fin = ActiveCell.Row
          Range("A1").Select   
          For i = 1 To fin
              If Range("G" & i).Value <> 0 Then
              Range(i & ":" & i).Select
              With Selection.Interior
                 .ColorIndex = 6
                 .Pattern = xlSolid
              End With
              End If
          Next
          Range("A1").Select
      End Sub
      
      1. Dsl amigo mais cela ne fonctionne pas, ca me met en jaune tout mon tableau, et je voudrait les sélectionner et non pas les mettre en jaune. Mais merci bcp quand meme