Bonjour à tous,
Je cherche a faire dans une macro VBA l'équivalent de la fonction NB.SI dans une boucle Pour.
Le contexte:
Dans la feuille A, j'ai la liste de biens industriels.
Dans la feuille B, j'ai la liste des dépannages ayant eu lieu sur ces biens.
Ce que je recherche est la chose suivante: rajouter en fin de tableau (feuille UI) un colonne avec le nombre de dépannages faits (issus de la feuille BT) par bien.
Avec une fonction NB.SI sous Excel, ça marche très bien, mais ce que je désire faire c'est automatisé ce calcul afin de tenir compte du nombre aléatoire de lignes dans les 2 feuilles. (fichier Ex joint)
Je sais que la fonction COUNTIF permet de faire cela en VBA mais je me retrouve bloqué car comment faire pour que la copie se fasse sur l'ensemble des données de la feuille UI (à terme c'est plus de 12000 lignes qui devront être gérées dans la feuille UI).
Question subsidiaire: comment faire pour rajouter une seconde condition d'analyse?
Je suis arrivé à écrire le début:
C'est ma boucle FOR qui je pense ne fonctionne pas. Merci de votre aide.
Je cherche a faire dans une macro VBA l'équivalent de la fonction NB.SI dans une boucle Pour.
Le contexte:
Dans la feuille A, j'ai la liste de biens industriels.
Dans la feuille B, j'ai la liste des dépannages ayant eu lieu sur ces biens.
Ce que je recherche est la chose suivante: rajouter en fin de tableau (feuille UI) un colonne avec le nombre de dépannages faits (issus de la feuille BT) par bien.
Avec une fonction NB.SI sous Excel, ça marche très bien, mais ce que je désire faire c'est automatisé ce calcul afin de tenir compte du nombre aléatoire de lignes dans les 2 feuilles. (fichier Ex joint)
Je sais que la fonction COUNTIF permet de faire cela en VBA mais je me retrouve bloqué car comment faire pour que la copie se fasse sur l'ensemble des données de la feuille UI (à terme c'est plus de 12000 lignes qui devront être gérées dans la feuille UI).
Question subsidiaire: comment faire pour rajouter une seconde condition d'analyse?
Je suis arrivé à écrire le début:
Range("M1").ActiveCell = "Nb de BTs"
NbBT = Sheets("BASE_Macro").Range("B3").Value
Sheets("BT").Columns("K:K").Select
Selection.Cut
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
Sheets("UI").Select
Range("M2").Select
For i = 2 To NbBT
Application.WorksheetFunction.CountIf(Sheets("BT").Columns("A:A"), Sheets("UI").Cells(i, 1)).Value = Cells(i, 11)
Next
NbBT = Sheets("BASE_Macro").Range("B3").Value
Sheets("BT").Columns("K:K").Select
Selection.Cut
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
Sheets("UI").Select
Range("M2").Select
For i = 2 To NbBT
Application.WorksheetFunction.CountIf(Sheets("BT").Columns("A:A"), Sheets("UI").Cells(i, 1)).Value = Cells(i, 11)
Next
C'est ma boucle FOR qui je pense ne fonctionne pas. Merci de votre aide.