Macro VBA

odin13013 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   - 1 oct. 2009 à 10:52
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
A voir également:

3 réponses

ed
 
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
odin13013 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
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