XL 2016 Transférez les données tant que la valeur correspond aux en-têtes de colonne

Dadi147

XLDnaute Occasionnel
Bonjour, aidez-nous à copier les données de la feuille de recherche vers la feuille de FEUIL1, à condition que les en-têtes de colonne correspondent à la valeur de la ligne car elle change constamment dans la feuille de recherche. La valeur doit être copiée si elle se trouve dans le même colonne correspondante
Screenshot 2022-10-22 205936.png
 

Pièces jointes

  • TEST.xlsb
    19.7 KB · Affichages: 3

Dadi147

XLDnaute Occasionnel
Bonsoir @Dadi147 :),

Essayez cette formule en B2 à copier vers la gauche.
VB:
=SIERREUR(SI(INDEX(recherche!$B:$B;EQUIV(B1;recherche!$A:$A;0))="";"";INDEX(recherche!$B:$B;EQUIV(B1;recherche!$A:$A;0)));"")

Attention! Dans la zone de recherche, vous avez des doublons.
Merci, mais je veux copier de la feuille de recherche vers l'autre feuille
Les données seront copiées de la feuille de recherche et collées dans l'autre feuille, à condition que les valeurs de la colonne correspondent aux en-têtes de colonne par codes VBA
 

Gégé-45550

XLDnaute Accro
Bonsoir Dadi147
Vous semblez tenir au VBA, je vous propose ce code, dans un module standard
VB:
Sub Copie()
Dim Tablo1(), Tablo2(), fin As Long, i As Long
    fin = Sheets("recherche").Range("A2").End(xlDown).Row
    ReDim Tablo1(2, fin - 3)
    ReDim Tablo2(fin - 3)
    For i = 0 To fin - 3
        Tablo1(1, i) = Sheets("recherche").Range("A" & i + 3).Value 'colonne A
        Tablo1(2, i) = Sheets("recherche").Range("B" & i + 3).Value 'colonne B
'        Debug.Print Tablo1(1, i) & ":" & Tablo1(2, i)
        Tablo2(i) = Sheets("Feuil1").Cells(1, i + 2).Value
'        Debug.Print Tablo2(i)
    Next
    For i = 0 To fin - 3
        For j = 0 To fin - 3
            If Tablo1(1, i) = Tablo2(j) And Tablo1(2, i) <> vbNullString Then
                Sheets("Feuil1").Cells(2, j + 2) = Tablo1(2, i)
            End If
        Next
    Next
End Sub
Je ne doute pas que mapomme, beaucoup plus fort que moi, soit capable de produire un code bien plus efficace que le mien qui cependant, je crois, fonctionne.
Bonne soirée.
 

Dadi147

XLDnaute Occasionnel
Merci, mais lors de la copie pour la deuxième fois, vous devez copier dans la ligne à côté de la dernière ligne avec des données qui ne sont pas dans la même ligne
Ajout de copies de cellules b1 dans la première colonne A
 
Dernière édition:

Gégé-45550

XLDnaute Accro
À vous d'adapter selon vos besoins, vous avez tout le matériel nécessaire et puis quand vous dites "lors de la copie pour la deuxième fois, vous devez copier dans la ligne à côté de la dernière ligne avec des données qui ne sont pas dans la même ligne" ... je ne suis pas sûr de comprendre qui est le 'vous' ni ce que vous voulez faire.
Bonne nuit
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 094
Messages
2 085 244
Membres
102 834
dernier inscrit
nadusha