récupérer cellule après un filtre en vba

zesuila

XLDnaute Occasionnel
Bonjour, bon le titre encore une fois n'est pas clair ! :eek:
Voilà mon soucis:
comment faire après avoir fait un filtre automatique(par vba et avec un userform), pour accéder à une cellule précise de ce filtre.
Par exemple, après avoir filtré, c'est la ligne 4 qui apparait en premier dans mon onglet "archives". Comment faire en vba pour mettre une valeur précise dans la cellule C4 (par exemple).

merci d'avance
 

zesuila

XLDnaute Occasionnel
Re : récupérer cellule après un filtre en vba

bonjour Spitnolan08
euh non ! car avec le filtre automatique la cellule change constamment cela peut être c4 mais aussi c250 ou c500 (la colonne C elle ne bouge pas) et ma valeur vient d'un textbox
 

wilfried_42

XLDnaute Barbatruc
Re : récupérer cellule après un filtre en vba

Bonjour Jesuila, Spitnolan :) content de te croiser

Je ne sais pas si j'ai bien compris un probleme de clarete :confused:

si j'ai compris, tu utilises les filtres automatiques, qui finalement te permettent d'avoir une selection

Pour cette selection, tu desirerais affecter une valeur precise dans une colonne, si tu as plusieurs lignes selectionnées : exemple le 4, la 6, la 47
ces trois lignes doivent faire l'objet d'une modification

Dis mois si j'ai compris

@ te lire
 

Spitnolan08

XLDnaute Barbatruc
Re : récupérer cellule après un filtre en vba

Re,
Alors peut être ceci,; mais tu es vraiment avare en explications :
Code:
Cells(Activecell.row,"C")= TaValeurPrécise
Cordialement

Edit : Bonjour Wilfried:), pas vu
Moi, j'ai compris qu'il ne modifiait que la cellule de la première ligne du filtre et la colonne C...
 
Dernière édition:

wilfried_42

XLDnaute Barbatruc
Re : récupérer cellule après un filtre en vba

re:

Voici une petite macro qui triche un peu. apres tes filtres

Code:
dim ligne as long, numlig as long
ligne = range("C65535").end(xlup).row
range("C1").select
numlig=0
while numlig<=ligne
sendkeys "{DOWN}"
if activecell.row<=ligne then activecell = textbox1
numlig = activecell.row
wend
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : récupérer cellule après un filtre en vba

bonjour tuesla
Salut Spit

un petit fichier exemple (sans données confidentielles) serait plus parlant

est-ce-que

la premiere cellule de la colonne C apparente apres filtrage

serait une definition de l'endroit ou tu veux mettre une 'valeur precise ' issue d'une textbox ??

ps: le fichier exemple eviterait egalement aux bonnes volontés d'avoir a en creer un pour tester (nous avons coutume de donner aussi souvent que possible des codes testés)

oula !!

suis en retard moi

salut Wilfried
 

zesuila

XLDnaute Occasionnel
Re : récupérer cellule après un filtre en vba

bonjour wilfried42

Bon je vois que franchement ce n'était pas clair du tout:eek: :eek:
Je vais tenter une autre approche :
je crée un bon n° 1 qui me dit que le client A a pris 5 palettes - (tout cela c'est fait avec un userform). Ces données sont donc copiés dans une feuille "archive".
Lorsque le gentil client revient, il me dit : tiens je vous ramène 2 palettes.
Ce que je voudrais, c'est renseigner dans la ligne qui correspond au bon N° 1 la cellule ou je dois rentrer le nombre de palette réstituée. (et tout ça sous forme d'userform).
donc rechercher la ligne (ça je sais faire avec l'userform et le filtre automatique) et entrer dans la colonne C quelquechose les palettes rendus.

:mad: pas l'impression d'être plus clair !


OUPS que de réponses entre temps, je vais voir cela et tenter également de donner unfichier exemple.merci de vos aides
 

Spitnolan08

XLDnaute Barbatruc
Re : récupérer cellule après un filtre en vba

Re,
Bonjour Pierrejean:),

Tout à fait d'accord avec Pierrejean : tu continues à faire de la prose pas claire en nous donnant un exemple qu'il nous faut reconstituer : Pas glop et pas vraiment cool...:cool:
Ceci étant je pense que ma dernière proposition convient parfaitement à ce que tu veux faire...

Cordialement

Edit : visiblement tu n'avais pas vu les messages précédents... vu ton edit...
 

wilfried_42

XLDnaute Barbatruc
Re : récupérer cellule après un filtre en vba

Bonjour pierrejean :)

la macro que je t'ai fournie fait :

Positionne sur la colonne C ligne 1
Compte le nombre de lignes à traiter (On sait d'avance qu'il est faux à cause des lignes masquées)
effectue une boucle en fonction de la ligne active qui pour sortir de la boucle doit etre superieur au total des lignes
Mais voici l'astuce, au lieu de passer les lignes une à une, j'envoie une touche fleche en bas : SendKeys "{DOWN}", qui me positionne sur la premiere ligne selectionnée et passe automatiquement le lignes masquées
et la je travail avec ActiveCell.row qui ne me donne pas la ligne 2 mais la ligne reelle selectionnée
Et quand je n'ai plus de ligne OK donc forcement ActiveCell.row est superieure aux total des lignes
La macro fournie doit etre adaptée en foction de tes besoins, mais dans l'analyse elle fonctionne, je l'utilise regulierement
 

Spitnolan08

XLDnaute Barbatruc
Re : récupérer cellule après un filtre en vba

Re,
comment faire pour que cette 1ere cellule de ce filtre soit activée en vba
Sauf erreur de ma part lorsque tu utilises un filtre automatique la cellule active est la 1ère en haut à gauche des lignes affichées.
ERRATUM : C'est faux... or j'avais tout fondé la dessus:(
Cordialement
 
Dernière édition:

Spitnolan08

XLDnaute Barbatruc
Re : récupérer cellule après un filtre en vba

Re,

Une sol de bidouille...
Code:
Sub Test()
'***Pour une liste en A1:C16 et une recherche sur la colonne 1 de "bb"
    Range("A1:C16").Select
    Selection.AutoFilter Field:=1, Criteria1:="bb"
    SendKeys "{DOWN}"
    Cells(ActiveCell.Row, "C") = TaValeurPrécise
End Sub
Cordialement

Comme Wilfried;)
 

Discussions similaires

Réponses
40
Affichages
982

Statistiques des forums

Discussions
312 370
Messages
2 087 691
Membres
103 641
dernier inscrit
anouarkecita2