Copir valeur des cellules fusionnées et la coller dans un autre fichier

Bonjour,

Je suis débutante en VBA et je suis un peu bloquée.

En fait, j'ai un classeur excel qui contient mes données qui sont sous forme de colonnes, je souhaite alors rajouter les valeurs d'une colonne qui se trouvent dans une autre feuille à ma feuille de base. le problème c'est que la colonne de recherche (le dénominateur commun) contient des cellules dans la valeur se répète et la colonne à copier contient des cellules fusionnées.

Le soucis c'est que la valeur de la colonne "code" dans la feuille "fichier de base" est unique alors qu'elle se répète dans la feuille "colonne à copier"

J'ai joigné un fichier exemple, merci d'avance pour vos retours.

11fexp.xlsx (10.05 Ko)

Bonjour,

Avec la fonction RechercheV() ça ne convient pas ? A mettre dans la cellule F2 de la feuille "fichier de base" et tirer vers le bas :

=RECHERCHEV(E2;'colonne à copier'!$D$2:$E$16;2;FAUX)

Bonjour,

par formule:

=INDEX('colonne à copier'!E:E;EQUIV(E2;'colonne à copier'!D:D;0))

en vba:

Sub test()
Set sh = Sheets("colonne à copier")
For i = 2 To Cells(Rows.Count, 6).End(xlUp).Row
Range("F" & i) = Application.Index(sh.Range("E:E"), Application.Match(Range("E" & i), sh.Range("D:D"), 0))
Next i
End Sub

Bonjour i20100,

Merci bien pour ton retour pour la formule ça a marché par contre pour le code vba ça marche pas, j'ai crée un bouton et j'ai mis la macro dedans, mais en cliquant dessous mais rien ne s'affiche

Merci These, la formule fonctionne bien également, mais j'ai besoin d'une macro vba, comme ça je pourrais cliquer sur un bouton et importer les données automatiquement, surtout que ma base de données est énorme.

re,

à tester,

7wafi-fexp.xlsm (18.00 Ko)

Merci bien I20100, ça fonctionne parfaitement ^^

Merci bien I20100, ça fonctionne parfaitement ^^

super! merci de passer le fil en résolu, (un clic p'tit sur sur le bouton )

je ss pas comment, j'ai cliqué sur un bouton je sais pas si c'est ok

re,

pour clôture le fil, fait un clic sur le bouton (indiquer par la flèche verte)

resolu

Merci!

C'est bon i20100, c'est fait normalement, sinon une dernière question Stp.

En fait, dans mon fichier réel j'ai également quelques cellules fusionnées dans la colonne code je me demande ainsi si rien ne doit être changé.

Je souhaite également faire la manip à partir de deux fichiers de recherche et le résultat je le met dans un seul tableau. J'ai essayé de mettre une autre fonction test sur l'autre fichier mais malheureusement mais ça n'a pas marché. Et ce parce que le 2eme fichier contient encore des cellules fusionnées dans la colonne code ou on peut pas parcourir les deux fichiers au même temps et stocker les valeurs correspondantes?

Merci bien, voila le code que j'ai utilisé :

Sub test1()

Set sh = Sheets("ami")

Set she = Sheets("fml")

For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row

Range("S" & i) = Application.Index(sh.Range("AA:AA"), Application.Match(Range("A" & i), sh.Range("X:X"), 0))

Range("S" & i) = Application.Index(she.Range("Z:Z"), Application.Match(Range("A" & i), she.Range("W:W"), 0))

Next i

End Sub

test

Bonjour Wafi,

Range("S" & i) = Application.Index(sh.Range("AA:AA"), Application.Match(Range("A" & i), sh.Range("X:X"), 0))

Range("S" & i) = Application.Index(she.Range("Z:Z"), Application.Match(Range("A" & i), she.Range("W:W"), 0))

si tu inscris les 2 résultats dans la même cellule Range("S" & i), le 2ème résultat vient écraser le 1er

tu parles de 2 fichiers, mais je ne vois pas le nom du 2ème fichier ?

est ce que veux dire 2 onglets du même fichier ?

Oui c'est exactement ça, deux onglets du même fichiers

re,

si la colonne T est libre

Range("S" & i) = Application.Index(sh.Range("AA:AA"), Application.Match(Range("A" & i), sh.Range("X:X"), 0))
Range("T" & i) = Application.Index(she.Range("Z:Z"), Application.Match(Range("A" & i), she.Range("W:W"), 0))

Merci bien i20100.

En fait, les valeurs de l'onglet 1 sont différentes des valeurs du deuxième fichiers. et donc j'ai pas intérêt de les mettre dans une autre colonne mais je souhaite plutôt les superposer pour avoir le résultat dans le même tableau et pouvoir utiliser ma base de données par la suite. Autrement dit mon tableau contient une colonne "A" des codes etpour les données "num" de la première partie du tableau je les récupèrent d'une feuille et le reste d'une autre feuille.

Ci-joint un exemple illustrant mon cas, merci encore une fois i20100.

1wafi-fexp1.xlsm (18.25 Ko)

re,

ok, je comprends mieux,

à tester,

Sub test()
Set sh1 = Sheets("Onglet1")
Set sh2 = Sheets("Onglet 2")
Set sh3 = Sheets("Résultat souhaité")
For i = 2 To Cells(Rows.Count, "E").End(xlUp).Row
    If Not IsError(Application.Match(Range("E" & i), sh1.Range("D:D"), 0)) Then
      sh3.Range("F" & i) = Application.Index(sh1.Range("E:E"), Application.Match(sh3.Range("E" & i), sh1.Range("D:D"), 0))
    Else
      sh3.Range("F" & i) = Application.Index(sh2.Range("E:E"), Application.Match(sh3.Range("E" & i), sh2.Range("D:D"), 0))
    End If
Next i
End Sub
Rechercher des sujets similaires à "copir valeur fusionnees coller fichier"