Extraction de données d'une BDD suite à la recherche de valeurs précise

Bonjour,

J'aimerai trier de manière automatisé certaines informations d'un tableau afin de les manipuler par la suite.

Je m'explique :

Je récupère dans mon classeur un tableau (BDD) d'un autre classeur. Il est composé de plusieurs colonnes.

Dans ma Maccro je recherche des "liaisons" (colonne F) et le nombre de fois qu'elles apparaissent, à chaque fois qu'elle est dans le tableau, sur une autre feuille la liaison recherchée s'incrémente de 1.

J'aimerai lorsque la liaison est dans le tableau prélever son nombre de jour "Nbr_jour" (présent dans la colonne D de mon tableau), puis additionner ces jours sur mon autre feuille.

Voici le code que j'ai pour le moment (j'ai préférer enlever toutes mes tentatives pour qu'ils soit plus propre) :

Sub Maintenance()  
  Range("B2:B74").ClearContents
    For Each c In Worksheets("Feuille1").Range("F:F") 'j'ai essayé avec End(xlDown) pour que ce soit moins lourd mais ça ne marche pas
        If c.Value = "Nom_Liaison" Then
            Worksheets("Feuille2").Range("B2").Value = Range("B2").Value + 1

'si la liaison est présente dans le tableau, prendre son nombre de jour (autre colonne, même ligne)
'Worksheets("Feuille2").Range("C2").Value = Range("C2").Value + Nbr_Jour.Value

        End If
    Next c
End Sub
J'ai 70 "liaisons" différentes à vérifier et la longueur du tableau n'est pas connue (elle augmente au cour de l'année)

J'espère avoir été assez clair,
Merci d'avance !

bonjour,

une proposition non testée (pas de fichier !)

Sub Maintenance()
    With Worksheets("Feuille2")
        .Range("B2:B74").ClearContents 'utilité ???
        dl = Sheets("feuille1").Cells(Rows.Count, "F").End(xlUp).Row
        For Each c In Worksheets("Feuille1").Range("F1").Resize(dl, 1)
            If c.Value = "Nom_Liaison" Then
                .Range("B2").Value = .Range("B2").Value + 1 'compte en B2 les liaisons trouvées
                .Range("C2").Value = .Range("C2").Value + c.Offset(, -2).Value 'somme en C2 des valeurs trouvées en colonne D de feuille1

                'si la liaison est présente dans le tableau, prendre son nombre de jour (autre colonne, même ligne)
                'Worksheets("Feuille2").Range("C2").Value = Range("C2").Value + Nbr_Jour.Value

            End If
        Next c
    End With
End Sub

Bonjour à toi ,

Je te remercie ta proposition fonctionne à la perfection !

L'utilité de cette ligne est de ne pas comptabiliser une deuxième fois la recherche donc doubler les resultats lorsque je lance plusieurs fois la Maccro ;)

.Range("B2:B74").ClearContents
Rechercher des sujets similaires à "extraction donnees bdd suite recherche valeurs precise"