Macro VBA

Bonjour,

Je dois finaliser une macro excel sous VBA mais je n'arrive pas à faire la fonction suivante:

si la cellule = 1 (dans mon tableau cette cellule se trouve à droite)
décaller à gauche de 5 colonnes (on tombe sur une cellule vide)
Puis descendre jusqu'a ce que la cellule soit non vide

Si quelqu'un peut m'aider please????

Merci par avance
Antony
Configuration: Windows XP Internet Explorer 6.0

3 réponses

  1. salut ! voilà :)
    ça te va ?

    Sub test()

    Sheets(1).Range("l'adresse de ta cellule").Select

    If Range("l'adresse de ta cellule").Value = 1 Then

    ' tu vas 5 colonnes à gauche
    ActiveCell.Offset(0, 5).Select

    ' on boucle tant que pas de cellule non vide
    Do While ActiveCell.Value = ""
    ' ça c'est le code qui te fait descendre d'une ligne à chaque boucle
    ActiveCell.Offset(1, 0).Select
    Loop

    End If

    End Sub
    0
    1. Hello,

      Merci pout ta réponse!!!

      En faite voila le code avant la fonction que je souhaite mettre:

      For Each n In Sheets("feuil2 (2)").[g3:g2500]

      If (Sheets("feuil2 (2)").Cells(k, 7).Value <> "") Then

      If (Sheets("feuil2 (2)").Cells(k, 7).Value < v Or Sheets("feuil2 (2)").Cells(k, 7).Value > w) Then
      Sheets("feuil2 (2)").Cells(k, 7).Interior.ColorIndex = 3
      'et la y'aurait ton code

      Du coup qd je fais Sheets(1).Range("l'adresse de ta cellule").Select Comment je fais pour donneer l'adresse de la cellule?

      Ah oui aussi...lol une foi que je suis sur la cellule non vide comment je fais pour récuperer la valeur de cette cellule pour la mettre par exemple sur feuille deux ??

      Mici a toi !!!!!
      0
      1. Contributeur
        Bonjour

        macro à adapter (ton code en réponse m'a embrouillé). Je fais ci dessous la recherche sur lla feuille1 et je transfère le résultat en feuille 2
        Option Explicit
        Const col As Byte = 1 'n°colonne du 1 à adapter
        Sub colloneàgauche()
        Dim lig1 As Long, lig2 As Long
        Dim valeur
        
        With Sheets(1)
            lig1 = .Columns(col).Find(1, .Cells(65536, col)).Row
            valeur = .Columns(col + 5).Find("*", .Cells(lig1 - 1, col + 5))
        End With
        Sheets(2).Range("A1") = valeur
        
        End Sub
        

        merci de mettre tes codes dans la balise "code" ( l'icone 4° à droite)
        0