Ajouter une fonction dans Macro VBA

Résolu
Ludivine -  
jlnch Messages postés 12 Statut Membre -
Bonjour,

J'ai une macro VBA (ci dessous) à laquelle j'aimerai ajouter une fonction:
Si B2 contient "del" alors indiquer "Delivery" en J1; sinon indiquer "Collect" en J1
Attention, la cellule B2 peut contenir "del" mais toujours avec d'autres caractères exemple: up2del01201210161301.txt dans ce cas indiquer "Delivery" en J1

Pourriez vous m'aider ?

Voici ma macro pour le moment à laquelle je souhaite ajouter la fonction expliquée ci dessus:
Sub M2_ajoutL1_look4errors()
'
' M2_ajoutL1_look4errors Macro
'
' Touche de raccourci du clavier: Ctrl+n
'
    Workbooks.Open Filename:= _
        "\\Pc002\travail\Services\TSG\Nadège GUILLY\UPS\MONITOR REPORT\Macro\1.xls"
    Rows("1:1").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "a"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "b"
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "c"
    Range("D1").Select
    ActiveCell.FormulaR1C1 = "d"
    Range("E1").Select
    ActiveCell.FormulaR1C1 = "e"
    Range("F1").Select
    ActiveCell.FormulaR1C1 = "f"
    Range("G1").Select
    ActiveCell.FormulaR1C1 = "g"
    
        Range("I1").Select
        
    ActiveCell.FormulaR1C1 = "=COUNTA(C[-8])-1"
    Range("J1").Select
    ActiveCell.FormulaR1C1 = "=R[1]C[-8]"
    Range("J2").Select
    
        Cells.Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    
    Rows("1:1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$G$255").AutoFilter Field:=5, Criteria1:="=*error*" _
        , Operator:=xlAnd
    ActiveWorkbook.Save
    ActiveWindow.Close

End Sub


Merci beaucoup de votre aide !!
A voir également:

5 réponses

jlnch Messages postés 12 Statut Membre
 
Salut,
par exemple,

Dim a As String
Dim x As Integer

a = Range("B2").Value

x = InStr(1, a, "del")

If x > 0 Then
Range("J1").Value = "Delivery"
Else
Range("J1").Value = "Collect"
End If


Bien à toi.
Julien
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
bonjour
Ne serait ce pas plutôt J2 que J1 (tu y as écris une formule)
autre manière
Range("J2") = IIf(InStr(Range("B2").Value, "del"), "delivery", "collect") 

0
Ludivine
 
Bonjour et merci à vous 2 !!

C'est bien en J1 car la formule que j'avais faite ne me convient pas et je veux la remplacer par une de vos propositions !!

Je test ça tout de suite !!

Merci beaucoup, je vous tiens au courant ;)
0
Ludivine
 
Ca fonctionne parfaitement (je n'en ai pas douté !!;) )

Merci encore !!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jlnch Messages postés 12 Statut Membre
 
Avec plaisir ;-)
0