Apliquer une condition sur plusieur lignes xls macro vba

brezak

XLDnaute Nouveau
Bonjour, je veux apliquer cette macro sur toute les lignes qui sont rensegnées dans la colone A de ma feuille xls.
J'arrive à le faire juste sur une ligne,
ça fait une semaine que je planche dessus sans aucun resultat
Sub Macro1()
If Range ("A1").Value Like "*MIG*" Then
Range ("B2").Value = "[MIG]"
ElseIf Range ("A1").Value Like "*SUP*" Then
Range ("B2").Value = "[SUP]"
'ElseIf plein d'autres choses
Else
Columns("B2").Value = "[ERROR]"
End If
End Sub

D'avance merci
 

Victor21

XLDnaute Barbatruc
Re : Apliquer une condition sur plusieur lignes xls macro vba

Bonjour.

Pas de fichier joint, donc pas de test.

Essayez :
VB:
Sub Macro1()
For each c in [A1:Ax]
If c.Value Like "*MIG*" Then
c.offset(0,1).Value = "[MIG]"
ElseIf c.Value Like "*SUP*" Then
c.offset(0,1).Value = "[SUP]"
'ElseIf plein d'autres choses
Else
c.offset(0,1).Value = "[ERROR]"
End If
End Sub

Bonjour, Hasco, Tototiti. Je n'avais même pas percuté ! :eek:
Encore une preuve, s'il en fallait, qu'un fichier joint sert les intérêts du demandeur !
 
Dernière édition:
G

Guest

Guest
Re : Apliquer une condition sur plusieur lignes xls macro vba

Bonjour,
Hello Victor:D, tototiti:D
Même questionnement que tototiti:D
Dans la macro ci-dessous les valeurs sont écrites en Bx de la même ligne que la cellule A testée

Code:
Sub Macro1()
    Dim c As Range
    For Each c In Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
        Select Case True
        Case c Like "*MIG*": c.Offset(, 1) = "[MIG]"
        Case c Like "*SUP*": c.Offset(, 1) = "[SUP]"
        Case c Like "Une autre chose": c.Offset(1, 2) = "truc"
            'etc
        Case Else: c.Offset(, 1) = "[ERROR]"
        End Select
    Next
End Sub

A+
 

Statistiques des forums

Discussions
312 330
Messages
2 087 337
Membres
103 524
dernier inscrit
Smile1813