Bonjour à tous,
Ceci est mon tout tout premier programme en VBA et programme tout court d'ailleurs (j'imagine que ça se voit 😀).
Mon programme fonctionne à merveille, mais mon programme balaye toutes les cellules de la 1ère colonne (avec while not) tant qu'il n'en trouve pas une de vide il continu, mais j'aimerais également que mon programme tienne compte du filtre appliqué dans Excel, c'est à dire que j'aimerais qu'il ne prenne en compte dans ses calculs QUE les cellules affichées par le filtre.
Je n'arrive pas à le faire, j'ai trouvé sur internet une fonction de ce nom : xlcelltypevisible, je ne sais pas si sa peu m'aider si c'est la bonne ou quoi en tout cas je ne sais pas l'utiliser...
Voilà je vous remercie d'avance de vos réponses, si vous avez besoin d'info n'hésitez pas.
Ceci est mon tout tout premier programme en VBA et programme tout court d'ailleurs (j'imagine que ça se voit 😀).
Mon programme fonctionne à merveille, mais mon programme balaye toutes les cellules de la 1ère colonne (avec while not) tant qu'il n'en trouve pas une de vide il continu, mais j'aimerais également que mon programme tienne compte du filtre appliqué dans Excel, c'est à dire que j'aimerais qu'il ne prenne en compte dans ses calculs QUE les cellules affichées par le filtre.
Je n'arrive pas à le faire, j'ai trouvé sur internet une fonction de ce nom : xlcelltypevisible, je ne sais pas si sa peu m'aider si c'est la bonne ou quoi en tout cas je ne sais pas l'utiliser...
Code:
Dim annule_int As Integer, annule_ext As Integer, en_cour_int As Integer, en_cour_ext As Integer
Sub nb_oui_interne()
Dim numero As Integer, nb_oui_interne As Integer
nb_oui_interne = 0
numero = 5
annule_int = 0
annule_ext = 0
en_cour_int = 0
en_cour_ext = 0
While Not IsEmpty(Sheets(1).Cells(numero, 1))
If Sheets(1).Cells(numero, 2) = "Interne" Then
If Sheets(1).Cells(numero, 13) = "Oui" Then
nb_oui_interne = nb_oui_interne + 1
End If
If Sheets(1).Cells(numero, 13) = "Annulé" Then
annule_int = annule_int + 1
End If
If Not IsEmpty(Sheets(1).Cells(numero, 1)) Then
en_cour_int = en_cour_int + 1
End If
End If
numero = numero + 1
Wend
Sheets(3).Cells(6, 16) = nb_oui_interne
Sheets(3).Cells(8, 16) = en_cour_int
Sheets(3).Cells(9, 16) = annule_int
End Sub
Voilà je vous remercie d'avance de vos réponses, si vous avez besoin d'info n'hésitez pas.