Private sub filtrer

Bonjour,

En utilisant :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xRgSel As Range
    On Error Resume Next
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set xRg = Range("AS2:AS2000")
    Set xRgSel = Intersect(Target, xRg)
    titre = Range("C" & Range(xRgSel.Address).Row).Value
    desc = Range("D" & Range(xRgSel.Address).Row).Value

Je voudrais que cela fonctionne pour la colonne AS mais seulement si le texte 600 si trouve

En gros j'ai 2000 lignes avec des 600 et 601 dans la colonne AS et je voudrais que cela fonctionne juste pour 600 ?

Bonjour, il faut déjà réussir à traduire ce que vous souhaitez faire fonctionner ?

Un fichier exemple et toujours plus révélateur.

Le Titre indique Filter ?? vous souhaitez filtrer ? je comprends pas là Filtrer des lignes mais pas toutes ?

Bonjour,

Je voudrais que si
Range("AS2:AS2000")

est égale à 600 cela fonctionne sinon non

et désolé je ne serais pas vous envoyer un fichier

Voici le code complet : mais je veux qu'il ne fonctionne que si Range("AS2:AS10000").Value = 600

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xRgSel As Range
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xMailBody As String
    On Error Resume Next
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set xRg = Range("AS2:AS10000")
    Set xRgSel = Intersect(Target, xRg)
    titre = Range("C" & Range(xRgSel.Address).Row).Value
    desc = Range("D" & Range(xRgSel.Address).Row).Value
    offre = Range("B" & Range(xRgSel.Address).Row).Value
    'ActiveWorkbook.Save
    If Not xRgSel Is Nothing Then
        Set xOutApp = CreateObject("Outlook.Application")
        Set xMailItem = xOutApp.CreateItem(0)
         xMailBody = "L' offre " & offre & " est passer en commande le " & Format$(Now, "mm/dd/yyyy") & " : " & titre & " - " & desc

        With xMailItem
            .To = "..."
            .Subject = "L'offre " & offre & " est passer en commande le " & Format$(Now, "mm/dd/yyyy")
            .Body = xMailBody
            .Display
            .Send
        End With
        Set xRgSel = Nothing
        Set xOutApp = Nothing
        Set xMailItem = Nothing
    End If
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

Pour commencer cette partie est incorrecte :

si Range("AS2:AS2000") = 600 non une plage n'est pas égale à une valeur.

Le principe du code vba est de tester chaque cellule appartenant à votre plage AS avec une variable "i" et si la cellule est égale à 600 alors suite de votre code ...

For i =2 to 2000
If range("AS" & i).value=600 Then
' à cette endroit ce que vous souhaitez faire.
End If
Next i
Rechercher des sujets similaires à "private sub filtrer"