VBA - filtre et colonne
Résolu
mcou
-
mcou -
mcou -
Bonjour,
Bonjour
J'effectue parfois des filtres. La macro ci dessous sert à lancer un formulaire de vérification. Avant que celui-ci se lance, je vérifie s'il existe des filtres dans ma feuille et, si c'est le cas, demande à mon utilisateur s'il souhaite maintenir ou enlever ces filtres pour la vérification.
Je souhaite indiquer dans ma msgbox, s'il existe un filtre, le numéro de la colonne filtrée ainsi que son entête (l'entête est toujours situé en ligne 3).
Les enregistrements commencent à la ligne 4...
Comment faire ?
Voici mon code :
Merci de votre aide.
Bonjour
J'effectue parfois des filtres. La macro ci dessous sert à lancer un formulaire de vérification. Avant que celui-ci se lance, je vérifie s'il existe des filtres dans ma feuille et, si c'est le cas, demande à mon utilisateur s'il souhaite maintenir ou enlever ces filtres pour la vérification.
Je souhaite indiquer dans ma msgbox, s'il existe un filtre, le numéro de la colonne filtrée ainsi que son entête (l'entête est toujours situé en ligne 3).
Les enregistrements commencent à la ligne 4...
Comment faire ?
Voici mon code :
Sub lancerUF()
' cette macro lance le formulaire et vérifie s'il existe des filtres
Dim rep As Variant 'déclaration de la variable rep comme étant la réponse attendue à la première fenêtre
With Sheets("FOLLOW-UP")
If .FilterMode = True Then
rep = MsgBox("Il y a un filtre sur la colonne :" & .Columns & "Voulez-vous effectuer la vérification sur le filtre ?", vbYesNo + vbQuestion, "FILTRE") 'affiche le numéro de référence de la ligne à solder
If rep = 7 Then 'valeur 7 correspond à la réponse non
Sheets("FOLLOW-UP").ShowAllData 'si "non", alors on enlève tous les filtres de la feuille FOLLOW-UP
End If
End If
End With
Verification_ALL.Show 'affiche le formulaire Verification_ALL
Range("A1").Select 'se positionne en cellule A1
End Sub
Merci de votre aide.
A voir également:
- VBA - filtre et colonne
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
- Filtre whatsapp - Accueil - Messagerie instantanée
1 réponse
Solution trouvée toute seule :
Sub lancerUF()
' lance le formulaire et vérifie s'il existe des filtres
Dim rep As Variant 'déclaration de la variable rep comme étant la réponse attendue à la première fenêtre
If Sheets("FOLLOW-UP").FilterMode = True Then
For Each cell In Range("A3:U3")
If cell.Interior.ColorIndex = 6 Then
rep = MsgBox("Il y a un filtre sur la colonne " & cell.Column & " - " & cell.Value & ". Voulez-vous effectuer la vérification sur le filtre ?", vbYesNo + vbQuestion, "FILTRE") 'affiche le numero de colonne où est situé le filtre ainsi que l'entête
If rep = 7 Then 'valeur 7 correspond à la réponse non
Sheets("FOLLOW-UP").ShowAllData 'si "non", alors on enlève tous les filtres de la feuille FOLLOW-UP
End If
End If
Next
End If
Verification_ALL.Show 'affiche le formulaire Verification_ALL
Range("A1").Select 'se positionne en cellule A1
End Sub