Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Coller sur cellules filtrées


Sujet :

Excel

  1. #1
    Membre à l'essai
    Coller sur cellules filtrées
    Bonjour

    J'ai trouvé beaucoup de topics qui traitent de copier sur cellules filtrées mais rien sur le collage sur cellules filtrées.
    Y a t'il possibilité de le faire sous excel directement ou à défaut via une marco VBA ?

    Merci.

  2. #2
    Membre expérimenté
    Je ne suis pas sûr de comprendre ce que tu veux faire, mais si tu veux traiter les cellules filtrées, voici comment (version USA) :

    dans le menu d'accueil: "Home / Find & Select / Go To Special / Visible Cells Only"

    Seules tes cellules filtrées seront sélectionnées et tu pourras en faire ce que tu veux !

  3. #3
    Membre à l'essai
    Citation Envoyé par Zekraoui_Jakani Voir le message
    Je ne suis pas sûr de comprendre ce que tu veux faire, mais si tu veux traiter les cellules filtrées, voici comment (version USA) :

    dans le menu d'accueil: "Home / Find & Select / Go To Special / Visible Cells Only"

    Seules tes cellules filtrées seront sélectionnées et tu pourras en faire ce que tu veux !
    Bonjour
    Merci du retour.
    Justement l'aide que tu donnes est comment COPIER ; la dessus il y a pleins de topics .
    Mon besoin est comment COLLER que sur les cellules visibles ; et là j ai rien trouvé.
    merci

  4. #4
    Expert éminent sénior
    Bonjour

    Je pense que seul un traitement ligne à ligne par boucle peut le faire
    Chris

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  5. #5
    Membre à l'essai
    bonjour ,
    j ai trouvé cela entre temps mais le paste ne fonctionne que sur des colonnes adjacentes ( fonction Fill Right ou Left ):
    https://imageframe.co.uk/excel-paste...le-cells-only/


    cela veut dire que si j'utilise d'autres onglets ou 2 fichiers excel ça ne marche pas . je galère , je galère depuis plusieurs jours à trouver sur Google ...

  6. #6
    Membre expérimenté
    Bonjour cocopops,

    Quand un chemin est une voie sans issue, autant rebrousser chemin et emprunter une autre route.
    Celle proposée par Chris me semble être la meilleure solution.

    Tu pourrais expliquer un peu se que tu doit faire au juste, code actuel, filtre à appliquer, nom des tables/feuilles,.. Et des captures d'écran de tes fichiers.

    Bat
    Michaël

    Si mon aide/avis vous a été profitable , n'hésitez pas à cliquer sur , ça fait toujours plaisir...
    _________________________________________________________________________________________________________________

    "Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu'il est stupide..."
    Albert Einstein

  7. #7
    Rédacteur

    Bonjour,
    S'il s'agit de coller la même valeur dans des cellules filtrées, la réponse est oui aussi bien manuellement que par VBA

    Manuellement, il suffit de sélectionner les cellules de la colonne à traiter (Ctrl + barre d'espacement pour les tableaux structurés), écrire la nouvelle valeur et valider par Ctrl + Enter

    En vba, voici un exemple où nous remplaçons par "Lisboa" toutes les cellules visibles de la colonne nommée Ville du tableau structuré nommé T_Staff
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub t()
      Dim oList As ListObject
      Set oList = Range("T_Staff").ListObject
      oList.ListColumns("Ville").DataBodyRange.SpecialCells(xlCellTypeVisible).Value = "Lisboa"
      Set olis = Nothing
    End Sub


    Attention toutefois que la propriété SpecialCells a une limite du nombre de lignes qu'elle peut traiter mais je ne me souviens plus du nombre
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Quelques contributions : USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire - Géolocalisation d'une adresse avec Excel et Google sans VBA

  8. #8
    Membre à l'essai
    hello

    merci de l'aide ; il ne s'agit pas en effet de remplacer tous les champs par la même valeur.

    j expose le cas : j'ai un fichier en partage que je partage sur un serveur et utilisé par 2 personnes dont moi.

    pour travailler sur ce fichier excel, j'en fais une copie en local sur mon disque dur et je modifie uniquement les lignes du fichier excel qui me concernent ( je sais les identifier en appliquant un filtre sur la 1ere colonne de mon tableau).
    une fois les modifications faites sur mon fichier local, il faut que je les repercute sur le fichier qui est sur serveur sans "écraser" les modifications que la 2eme personne a pu faire entre temps.

    d ou l 'idée de faire un copier sur mon fichier local de mes lignes et de les coller sur le tableau du fichier qui est sur le serveur pour lequel j'aurai au préalable filtré les lignes qui me concernent afin de coller mes données.

    en esperant avoir été clair ...

    et merci encore.

  9. #9
    Expert éminent sénior
    RE

    C'est ce que je subodorais.

    La copie d'une source multi plages vers une cible multi plages n'est pas possible dans Excel.

    Oriente-toi plutôt vers 2 classeur synthétisés par PowerQuery, intégré à ta version Excel
    Chris

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  10. #10
    Membre à l'essai
    hello
    je crois avoir trouvé un bout decode VBA sur un forum anglais:
    https://www.excelforum.com/excel-pro...-only-vba.html

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Option Explicit
     
    Sub CopyDataToVisible()
    Dim Rng As Range, InputRng As Range, OutRng As Range, i As Long
    Set InputRng = Application.InputBox("Range with data", Type:=8)
    Set OutRng = Application.InputBox("Output range", Type:=8).SpecialCells(xlCellTypeVisible)
    If InputRng.Cells.Count > OutRng.Cells.Count Then
      MsgBox "Sorry not enough cells to paste data from " & InputRng.Address
    Else
      For Each Rng In OutRng
        i = i + 1
        Rng.Value = InputRng.Cells(i).Value
      Next Rng
    End If
    End Sub


    la simplicité me parait déconcertante et m'interroge pourquoi je n'ai pas trouvé plus vite ... ; je vais tester .

  11. #11
    Expert éminent sénior
    Bonjour

    Comme je l'ai dit au #4, il s'agit bien d'une boucle et sous réserve d'adapter légèrement le code...

    Comme suggéré au #9, c'est une mauvaise conception qui risque d’autant plus de te jouer des tours que la sélection des plages est manuelle.

    Tu as 2016 pas Excel 5 donc utilise ses possibilités...
    Chris

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  12. #12
    Rédacteur

    Bonjour,
    100% en accord avec Chris, que je salue. C'est totalement "Casse gueule" d'utiliser une sélection manuelle pour remplacer des données dans des cellules filtrées
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Quelques contributions : USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire - Géolocalisation d'une adresse avec Excel et Google sans VBA

###raw>template_hook.ano_emploi###