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. 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
    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. 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