OVH Cloud OVH Cloud

Filtre et inputbox

1 réponse
Avatar
ManBas
Re-bonjour les amis du web,
J'ai fait une macro qui :
- compte les lignes de la feuille et écrit le résultat dans la cellule A2
- incite l'utilisateur à donner un nom à son filtre, et écrit le résultat
dans la cellule A3.
L'idée était de m'en servir lorsque le filtre auto est activé, pour imprimer
le résultat du filtre,avec cette traçabilité sur l'exemplaire papier. La
macro terminée, les 2 cellules A2 et A3, recupèrent une valeur "-".
Mais justement la macro ne fonctionne correctement que lorsque le filtre
n'est pas activé.
Avez-vous une idée pour corriger mon raisonnement SVP?
Merci infiniment +++

Dim myRange As Range
Dim reponse As String
Set myRange = Worksheets("feuill1").Range("a1:a" &
Range("a65536").End(xlUp).Row)
'défini la plage de cellule A jusqu'à la dernière non vide
Range("feuill1!a2").Value = WorksheetFunction.CountA(Columns(1)) - 3 & "
fiches"
' retire 3 enregistrements: le titre et les deux tirets A1 et A2, et
selectionne la ligne en dessous de la dernière ligne vide et A2
reponse = UCase$(InputBox("Spécifier la nature de votre filtre"))
'impose les majuscules du texte saisi dans input box
Range("feuill1!a3").Value = reponse
[...Selection.PrintOut...]
Range("uronord!a2").Value = "-"
Range("uronord!a3").Value = "-"

1 réponse

Avatar
ManBas
Bonjour,
Pas de réponse, alors voici ce que j'ai fais de mon coté. ça fonctionne,
peut-être que ça donnera une idée à quelqu'un comme moi.

Dim reponse1 As Integer
Dim reponse2 As String
reponse1 = Application.Subtotal(3, [A:A]) - 1 'renvoie le nb de lignes du
filtre Range("a1") = reponse1 & " fiches pour filtre" 'inscrit la réponse
dans la ligne du titre
reponse2 = UCase$(InputBox("Donner un nom à votre filtre)) 'impose les
majuscules du texte saisi dans input box
Range("c1") = reponse2

Le filtre a été défini à partir de la ligne 2, donc la ligne 1 sert aux noms
des champs-colonnes.
Les indications recherchées remplacent les titres dans la ligne 1 et aprés
l'impression on renomme ces cellules.
Merci pour tout ce que vous m'apprenez dans ce forum.

"ManBas" a écrit dans le message de news:

Re-bonjour les amis du web,
J'ai fait une macro qui :
- compte les lignes de la feuille et écrit le résultat dans la cellule A2
- incite l'utilisateur à donner un nom à son filtre, et écrit le résultat
dans la cellule A3.
L'idée était de m'en servir lorsque le filtre auto est activé, pour
imprimer le résultat du filtre,avec cette traçabilité sur l'exemplaire
papier. La macro terminée, les 2 cellules A2 et A3, recupèrent une valeur
"-".
Mais justement la macro ne fonctionne correctement que lorsque le filtre
n'est pas activé.
Avez-vous une idée pour corriger mon raisonnement SVP?
Merci infiniment +++

Dim myRange As Range
Dim reponse As String
Set myRange = Worksheets("feuill1").Range("a1:a" &
Range("a65536").End(xlUp).Row)
'défini la plage de cellule A jusqu'à la dernière non vide
Range("feuill1!a2").Value = WorksheetFunction.CountA(Columns(1)) - 3 & "
fiches"
' retire 3 enregistrements: le titre et les deux tirets A1 et A2, et
selectionne la ligne en dessous de la dernière ligne vide et A2
reponse = UCase$(InputBox("Spécifier la nature de votre filtre"))
'impose les majuscules du texte saisi dans input box
Range("feuill1!a3").Value = reponse
[...Selection.PrintOut...]
Range("uronord!a2").Value = "-"
Range("uronord!a3").Value = "-"