Choix et comptage avec condition

Bonjour a tous,

n’étant un fin spécialiste du vba j'aurai besoin d'aide pour un bout de code.je souhaiterai que le code recherche sur une colonne tout les "X" et les sélectionne puis une fois sélectionné qu'il recherche sur une autre colonne ceux marqué avec "URG" "URG 40" pour les comptabiliser et les marquer sur une autre feuille.

je sais marquer les données mais la ou je bloque c'est rechercher uniquement les "X" et ensuite trouver les "URG" dans ses "X" là.

j’espère avoir été clair et je me tiens a votre disposition pour plus de détail.

merci d'avance

cordialement,

voici ma partie de codes.

ps je vous mets en balise tous ce que j'ai fait la partie concerné que je n'arrive pas s'intitule " Compte le nombre ED dans DU et la part d'urgence d'ED"

Private Sub Automatisation()

    ' Variable pour les BEM
    Dim CompterUrg1 As Integer
    Dim CompterUrg2 As Integer
    Dim CompterUrg3 As Integer
    Dim CompterUrg4 As Integer
    Dim CompterUrg5 As Integer
    Dim DerniereLigne As Integer
    Dim CompteED As Integer

    ' compte le nombre de ligne et selectionne la feuille BEM
    Worksheets("BEM").Select
    DerniereLigne = Application.WorksheetFunction.Count(Range("c1:c" & Range("C65536").End(xlUp).Row))

    ' compte le nombre d'urgence en selectionnant point de déchargement
    CompteUrg1 = Application.WorksheetFunction.CountIf(Range("AU1:AU65536"), "URG")
    CompteUrg2 = Application.WorksheetFunction.CountIf(Range("AU1:AU65536"), "40                    URG")
    CompteUrg3 = Application.WorksheetFunction.CountIf(Range("AU1:AU65536"), "51                    URG")
    CompteUrg4 = Application.WorksheetFunction.CountIf(Range("AU1:AU65536"), "40")
    CompteUrg5 = Application.WorksheetFunction.CountIf(Range("AU1:AU65536"), "51")

    ' compte les ED dans la feuille BEM en selectionnant la colonne Skip
    CompteED = Application.WorksheetFunction.CountIf(Range("U1:U65536"), "X")

    ' écrire les résultats
    Worksheets("RECEPTION").Select
    Range("BB4").End(xlToLeft)(1, 2).Select
    ActiveCell.Value = DerniereLigne
    Range("BB10").End(xlToLeft)(1, 2).Select
    ActiveCell.Value = CompteUrg1 + CompteUrg2 + CompteUrg3 + CompteUrg4 + CompteUrg5
    Range("BB16").End(xlToLeft)(1, 2).Select
    ActiveCell.Value = CompteED

    'supprime les données feuille BEM
    Worksheets("BEM").Select
    Cells.Select
    Selection.ClearContents

    ' Variable pour les DU
    Dim LigneDU As Integer
    Dim CompteED2 As Integer
    Dim UrgED As Integer
    Dim UrgED2 As Integer
    Dim UrgED3 As Integer
    ' Compte le nombre de DU et selectionne la feuille DU
    Worksheets("DU").Select
    LigneDU = Application.WorksheetFunction.Count(Range("c1:c" & Range("C65536").End(xlUp).Row))

    ' Compte le nombre ED dans DU et la part d'urgence d'ED
    CompteED2 = Application.WorksheetFunction.CountIf(Range("U1:U65536"), "X")

    ce que je souhaiterai faire : SI il y a des croix dans la colonne U alors sélectionne et recherche dans la colonne "AU" les "URG","40" pour les comptabiliser.

    Else

    If Range("U1:U65536")("X").Select Then

    UrgED = Application.WorksheetFunction.CountIf(Range("AU1:AU65536"), "URG") And UrgED2 = Application.WorksheetFunction.CountIf(Range("AU1:AU65536"), "40") And UrgED3 = Application.WorksheetFunction.CountIf(Range("AU1:AU65536"), "40                    URG")

        Worksheets("ENTREE ED & EC").Select
        Range("BB12").End(xlToLeft)(1, 2).Select
        ActiveCell.Value = UrgED + UrgED2 + UrgED3

    ' écrire les résultats
    Worksheets("ENTREE ED & EC").Select
    Range("BB4").End(xlToLeft)(1, 2).Select
    ActiveCell.Value = LigneDU
    Range("BB8").End(xlToLeft)(1, 2).Select
    ActiveCell.Value = CompteED2
    ' Compte le nombre de litige ED et EC

    End If
End Sub

Bonjour Noctam et

rechercher uniquement les "X" et ensuite trouver les "URG" dans ses "X" là.

Euh !!!!!

un classeur exemple ne serait pas de trop, tu ne crois pas ?

A+

oui pardon pris d'un appel téléphonique important j'ai oublié de l’intégrer avec.

j'ai enlevé le reste des informations de la feuille DU ou je souhaite faire les manips car elle son confidentielles j'ai juste laissé les X et les URG pour que ce soit plus explicite.

encore merci

Tu peux intégrer cette partie de code

' Compte le nombre ED dans DU et la part d'urgence d'ED
Dim Plage As Range, Cel As Range
Dim Compteur As Integer
    Set Plage = Range("U1:U" & Range("U" & Rows.Count).End(xlUp).Row)
    CompteED2 = Application.WorksheetFunction.CountIf(Plage, "X")
    If CompteED2 > 0 Then
        For Each Cel In Plage
            If Cel.Offset(0, 26) Like "*URG*" Then
                Compteur = Compteur + 1
            End If
        Next Cel
    Set Plage = Nothing
    End If

A+

Merci beaucoup je viens de l’intégrer et de modifier 2-3 petites choses et ça marche nickel

encore un grand merci a toi

Rechercher des sujets similaires à "choix comptage condition"