ETIRER formule VBA

Résolu
Bonjour
J'ai une formule VBA que je voudrais appliquer jusqu'à la derniére ligne non vide de la colonne A.



Sub Test()

With Sheets("nestor")
If .Range("a2") = "toto" Or .Range("a2") = "tata" Then
.Range("e2").Value = Range("d2").Value
Else
.Range("e2").Value = ""
End If
End With
End Sub


MERCI de votre aide

6 réponses

  1. Tout simplement !!! MERCI et MERCI
    0
    1. Sub Test()
      Dim DerLigE As Long
      Dim Cel As Range
      With Sheets("nestor")
      DerLigE = .Range("E" & Rows.Count).End(xlUp).Row
      For Each Cel In .Range("E2:E" & DerLigE)
      If Cel.Value = "TOTO" Then
      Cel.Offset(0, 1) = Weekday(Cel.Offset(0, -3).Value, 2)
      Else
      Cel.Offset(0, 1) = ""
      End If
      Next Cel
      End With
      End Sub

      A+
      0
      1. YES!!!!

        Par contre

        la forrmule s'incrémente jusqu'à la derniére cellule occupée de la colonne E (BIEN)

        et du coup les cellules qui ne valident pas la condition IF ne sont plus vides.

        Yaurait il moyen de les laisser vides?

        Bien à toi
        0
        1. Dans la même veine :

          Sub Test()
          Dim DerLigE As Long, LigE As Long
          With Sheets("nestor")
          DerLigE = .Range("E" & Rows.Count).End(xlUp).Row
          .Range("F2", .Range("F" & DerLigE)).FormulaR1C1 = "=IF(RC5=""TOTO"",(WEEKDAY(RC2,2)),"""")"
          End With
          End Sub

          A+
          0
          1. UN GRAND MERCI Gyrus.

            Dans la meme foulée peux tu m'inspirer pour tranformer ce code en VBA sur toute la colonne F

            F2=SI($E2="TOTO";(JOURSEM($B2;2));"")

            Bien à toi
            0
            1. Bonjour,

              Sub Test()
              Dim DerLigA As Long, LigA As Long
              With Sheets("nestor")
              DerLigA = .Range("A" & Rows.Count).End(xlUp).Row
              For LigA = 2 To DerLigA
              If .Cells(LigA, "A") = "toto" Or .Cells(LigA, "A") = "tata" Then
              .Cells(LigA, "E").Value = .Cells(LigA, "D").Value
              Else
              .Cells(LigA, "E").Value = ""
              End If
              Next LigA
              End With
              End Sub

              A+
              0