Coller des cellules par dessus des cellules filtrées

Résolu
LeThil -  
 LeThil -
Bonjour,

J'aimerai savoir s'il existe un moyen de coller une plage de données venant d'un XLS qui ne contient pas de filtre (exemple la copie d'une plage A2:B11) à un Excel qui comporte lui un filtre (Exemple : les lignes 3 - 5 - 7 - 8 -11 sont invisibles).
Je veux que le collage ne se fasse que sur les cellules que je vois grâce au filtre (donc rien ne doit se coller sur les lignes 3 - 5 -7 etc...)

J'ai essayé plusieurs type de collage mais rien n'y fait... Quelqu'un connait une solution ?

Merci beaucoup à vous par avance pour votre aide et votre temps

4 réponses

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonjour,
    Essayez ceci
    Sub RemplacementDonnées()
        Application.ScreenUpdating = False
        Set ShFilt = Sheets("Feuille filtree")
        Set ShNonFilt = Sheets("Feuille non filtree")
        DerLig = ShFilt.[A10000].End(xlUp).Row
        ReDim numLig(DerLig) As Long
        For i = 2 To DerLig
            If ShFilt.Rows(i).Hidden = False Then numLig(i) = i
        Next
        
        DerLig = ShNonFilt.[A10000].End(xlUp).Row
        ShFilt.Select
        For j = 2 To DerLig
            On Error Resume Next
            If Err.Number = 0 Then
                If j = numLig(j) Then
                    Cells(j, "A") = ShNonFilt.Cells(j, "A").Value
                    Cells(j, "B") = ShNonFilt.Cells(j, "B").Value
                End If
            End If
            On Error GoTo 0
        Next j
    End Sub


    Utilisez cet exemple et remplacez "Feuille filtree" par le nom de la feuille ou se trouve la zone filtrée, et remplacez "Feuille non filtree" par le nom de la feuille ou vous vous déposez l'export .
    Cdlt
    0
    1. LeThil
       
      Bonjour Frenchie83,

      Je vous remercie beaucoup pour la réponse apportée cependant je n'ai pas bien saisie à quelle étape je colle mes cellules copiées depuis l'autre feuille ?

      Lorsque la macro est exécutée il ne se passe rien

      Merci encore à vous par avance,
      0
    2. LeThil
       
      Frenchie83,

      Peut être me serait il plus simple de fonctionner avec plusieurs rechercheV ?

      Dans ce cas, y-a-t'il un moyen d'incrémenter une série sur des cellules filtrées ?
      0
  2. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Avec un exemple:
    Dans la feuille "Feuille filtree", j'ai fait un filtre sur la valeur "AA1" de la colonne A.(toutes les valeurs des colonnes A et B commencent par "AA")
    Dans la feuille "Feuille non filtree" j'ai créé une liste représentant l'export que vous voulez appliquer sur la feuille filtrée ,et seulement sur les lignes visibles. (toutes les valeurs des colonnes A et B commencent par "BB")
    Positionnez vous sur la feuille "Feuille filtree" et cliquez sur le bouton. les valeurs BB remplacent les AA. désactivez le filtre pour voir le résultat.
    https://www.cjoint.com/c/GLoiKM5wBDk
    0
    1. LeThil
       
      Frenchie83,

      Pour reprendre votre fichier exemple,

      Je me suis rendu sur la feuille non filtrée. J'ai sélectionné A:2 à B13 et j'ai copié.
      Je me suis ensuite rendu sur la feuille filtrée, positionné sur A2 j'ai cliqué sur votre macro.

      Ce qui s'est passé sur le filtre : on ne voit que les BB1 qui étaient rangés sur les lignes 2 ; 5 ; 8 ; 11.

      Ce que je voulais qu'il se passe :
      que le A2 de la feuille non filtrée remplace le A2 de la feuille filtrée
      que le A3 de la feuille non filtrée remplace le A5 de la feuille filtrée
      que le A4 de la feuille non filtrée ramplace le A8 de la feuille filtrée
      que le A5 de la feuille non filtrée remplace le A11 de la feuille filtrée.

      Et ce au moment où je clique sur la macro peu importe le filtre en place.
      Pensez vous cela possible ? autrement je peux toujours palier au problème avec des recherchesV sur mon fichier de destination, pour cela j'aimerai juste savoir s'il était possible d'incrémenter une serie de 2 cellules.

      Exemple :
      En A1 et A2 : valeur >> 1
      Incrémenter vers le bas de manière à ce que A3 et A4 >>2
      A5 et A6 >> 3
      A7 et A8 >> 4 etc etc

      Navré de vous embêter avec cela
      0
    2. Frenchie83 Messages postés 2254 Statut Membre 339 > LeThil
       
      J'ai dû mal m'exprimer.
      La feuille non filtrée est censée reproduire , pour reprendre les termes de votre demande, la plage de données venant d'un XLS qui ne contient pas de filtre. Il n'y pas lieu de faire une copie.
      La seule chose à faire est de cliquer sur le bouton.
      sur la feuille filtrée à l'origine il y a:
      nom1 nom2
      AA1 AA1
      AA2 AA2
      AA3 AA3
      AA1 AA1
      AA5 AA5
      AA6 AA6
      AA1 AA1
      AA8 AA8
      AA9 AA9
      AA1 AA1
      AA11 AA11
      AA12 AA12
      sur la feuille non filtrée il y a:
      nom1 nom2
      BB1 BB1
      BB2 BB2
      BB3 BB3
      BB1 BB1
      BB5 BB5
      BB6 BB6
      BB1 BB1
      BB8 BB8
      BB9 BB9
      BB1 BB1
      BB11 BB11
      BB12 BB12
      on applique un filtre sur la feuille filtrée, on choisit AA1, on clique sur le bouton, puis on supprime le filtre, le résultat obtenu est:
      nom1 nom2
      BB1 BB1
      AA2 AA2
      AA3 AA3
      BB1 BB1
      AA5 AA5
      AA6 AA6
      BB1 BB1
      AA8 AA8
      AA9 AA9
      BB1 BB1
      BB11 BB11
      BB12 BB12
      Toutes les AA1 ont été remplacés par BB1
      Si ce n'est pas clair, déposez ici votre fichier (sans données confidentielles),
      0
    3. LeThil
       
      Navré Frenchie83 ce n'est pas très clair pour moi

      Pour faire plus simple je vous dépose mon fichier.

      Je résume :

      Je souhaite copier la plage A138:G148 depuis la feuille "liste des factures" et coller sur "générateur saisie de CA" sur les plages commençant de J2 à probablement Q22.

      La ligne 138 d'origine doit se coller sur la ligne 2
      La ligne 139 d'origine doit se coller sur la ligne 4
      La ligne 140 d'origine doit se coller sur la ligne 6

      etc
      etc


      Merci encore à vous
      0
    4. Frenchie83 Messages postés 2254 Statut Membre 339 > LeThil
       
      Ou est le fichier?
      0
    5. LeThil
       
      https://www.cjoint.com/c/GLojGoh1HTC

      Pardon !
      0
  3. LeThil
     
    Bonjour,

    Je viens de trouver une alternative qui ne montre pas vraiment comment coller par dessus des cellules filtrées.

    En revanche, j'ai atomiser mon numéro de facture sur plusieurs cellules à part, j'ai utiliser ensuite dans ma colonne N° de facture une formule CONCATENER.

    J'ai appliqué sur ma dernière colonne pour incrémenter deux cellules ceci :
    Valeur A2 : 1
    Valeur A3 : 1
    Valeur A4 : = A2+1

    En incrémentant le tout, je peux incrémenter mes numéros de factures, les recherchesV dans les autres colonnes feront le reste (en lien avec la feuille liste des factures).

    Merci encore à vous pour votre temps et votre disponibilité.

    J'aiderai à mon tour quelqu'un d'autre sur une problématique dès que je peux !

    Merci Frenchie83, merci DjiDji59430
    0
  4. Frenchie83 Messages postés 2254 Statut Membre 339
     
    RE
    voilà,
    https://www.cjoint.com/c/GLopBGr6XNj
    Sur la feuille "Générateur saisie de CA" , cliquez sur le bouton, entrez le N° de ligne (feuille "Liste des factures") à partir duquel doit commencer l'import
    Cdlt
    0
    1. LeThil
       
      Super !

      Merci beaucoup à toi pour ton aide !

      La Macro fonctionne, très pratique !

      Je classe en résolu, encore merci !
      0