macro avec condition en fonction d'une partie de la valeur d'une cellule

esstin

XLDnaute Nouveau
Bonjour,
Je souhaiterais savoir pour une macro comment on écrit la condition sur une partie d'une cellule.

Par exemple, je peut avoir dans une cellule
8-T4-B ou
8-T4-M ou
8-T4-B1
...............

Si cette cellule contient B alors la copier en C20
Si cette cellule contient M alors la copier en D20
............

Merci d'avance pour vos réponses
 

vbacrumble

XLDnaute Accro
Re : macro avec condition en fonction d'une partie de la valeur d'une cellule

Bonjour


Une proposition

Code:
Sub test()
If Cells(1, "C") Like "*B*" Then
Cells(20, "C") = Cells(1, "C")
End If
If Cells(1, "C") Like "*M*" Then
Cells(20, "D") = Cells(1, "C")
End If
End Sub

EDITION: houps désolé pour la collision JNP ;)
 

Pierrot93

XLDnaute Barbatruc
Re : macro avec condition en fonction d'une partie de la valeur d'une cellule

Bonsoir à tous

pour une succession de tests sur la même cellule j'utiliserais "elseif" ,

Code:
If Range("A1").Value Like "*B*" Then
    Range("A1").Copy Range("C20")
    ElseIf Range("A1").Value Like "*M*" Then Range("A1").Copy Range("D20")
End If

s'arretera dès lors qu'une condition sera "vrai", possibilité également d'utiliser un "select case"...

bonne soirée
@+
 

vbacrumble

XLDnaute Accro
Re : macro avec condition en fonction d'une partie de la valeur d'une cellule

Re, bonsoir Pierrot93

Une variante (pour le fun)

Code:
Sub test2()
Dim Quoi As Range
Set Quoi = Cells(1, "C")
Range(Switch(Quoi Like "*B*", "C20", Quoi Like "*M*", "D20")) = Quoi
End Sub
 

Discussions similaires