Mise en relation de deux feuille avec un champs commun

Bonjour,

J'aimerais savoir si il était possible de mettre en relation deux feuilles d'un classeur. Je m'explique :

- Feuille 1 : comprend un champs numero , un champs date et un champs nom

- Feuille 2 : comprend un champs numero ( commun à l'autre feuille ) et un champs date

J'aimerais que lorsque dans la feuille 1 on rempli la date, cela rempli automatique la feuille 2 dans le champs date.

J'espère que je me suis bien fait comprendre ^^

Merci d'avance pour votre précieuse aide

Bonjour,

une formule rechercheV devrait être la solution.

en feuille 2 mettre dans la colonne qui doit recevoir la date venant de feuille 1

pour un numéro se trouvant en A1 en feuille 2 et numero se trouvant en colonne A ,date en colonne B, et nom en colonne C

=recherchev(A1,feuille1!$A$1:$B$1000,2,0)

J'ai essayer votre technique mais je n'es pas réussi, je vous joins mon fichier type

Merci d'avance

29test.xlsx (17.57 Ko)

Bonjour,

comme la colonne date se trrouve avant la colonne id dans feuille1, l'instruction rechercheV ne fonctionnera pas.

une solution avec une combinaison de 2 formules

=INDEX(Feuille1!A2:A14;EQUIV(Feuille2!B2;Feuille1!C2:C14;0))

index permet de sélectionner une cellule dans un ensemble de cellule (dans cette syntaxe en donnant un numéro de ligne)

index(feuille1!A2:A14, numéro de ligne), retourne la date que l'on trouve en ligne "numéro de ligne" dans la plage feuille1!A2:A14

numéro de ligne est le résultat de la formule

EQUIV(Feuill2!B2,Feuille1!C2:C14;0), retourne le "numero de la cellule" de feuille1:C2:C14 dans laquelle on retrouve la première occurrence de feuille1!C2

voir dans fichier joint.

27test-7.xlsx (17.97 Ko)

Merci beaucoup pour votre aide mais je rencontre un nouveau problème : les doublons

Si le nom HAUSER est à la fois le 1 janvier 2015 et le 12 février et le 23 mars ect...

Idéalement faudrait dans la feuille 2 ajouter une colonne date en plus si doublons il y a !

Merci encore on y est presque

Bonjour,

un problème pour un spécialiste de formules matricielles ... il doit y avoir moyen de faire cela avec des fonctions standard.

voici une solution via une fonction matricielle personnalisée

Function rvm(a As String, b As Range, c As Long) As Variant
' rvm recherchev sur doublons
' a valeur recherchée
' B plage où chercher la valeur
' c décalage de la colonne contenant la valeur à retourner (- pour les colonnes qui précèdent, + pour les colonnes qui suivent
' function matricielle, sélectionner les cellules qui doivent recevoir les réponses et valider par CTRL-maj-entrée

' exemple d'appel
' sélectionner D1:D4 puis
' introduire en D1  =rvm(B1,feuil1!C1:C20,-2) et valider avec CTRL-Maj-Entrée
' recherchera le contenu de B1 dans C1:C20 sur feuil1
' et mettra en D1:D4 les valeurs trouvées en colonne A (décalage -2 par rapport à C) là où B1 aura été trouvé.

Dim nc As Variant

nc = Application.Caller.Count
ReDim arr(nc - 1)
i = -1
For Each cel In b
If cel = a Then i = i + 1: arr(i) = cel.Offset(0, c)
Next
rvm = arr
End Function
19test-rvm.xlsm (22.79 Ko)

re bonjour,

le fichier joint précédemment n'est pas correct

le fichier contient déjà le code de la fonction personnalisée.

15test-rvm.xlsm (25.45 Ko)

Merci pour votre correction !

J'ai ajouter plusieurs fois la ligne HAUSER et le fichier ne se met pas a jour dynamiquement?

Désolé je suis novice en Excel

Bonjour,

effectivement dans la formule que j'avais mise j'ai limité la recherche à la plage C2:C5, si tu ajoutes des lignes après la ligne 5, ces ajouts n'étaient pas pris en compte. j'ai remplacé la plage C2:C5 par C2:C500.

j'ai modifier les formules dans le classeur joint.

14test-rvm.xlsm (24.81 Ko)

Merci beaucoup, maintenant j'ai ce message d'erreur dans la formule :

='C:\Users\****\AppData\Roaming\Microsoft\AddIns\myfunction.xlam'!rvm(B2;Feuille1!C$2:C$5;-2)

Cela fait référence à votre dossier AddIns et le mien est vide.

Merci d'avance


Lorsque je souhaite modifier la formule il me marque #NOM? dans la cellule et j'ai un popup qui s'ouvre disant : Impossible de modifier une partie de matrice

Bonjour, Bonsoir entretemps

désolé pour tous ces chipotages.

cela devrait aller maintenant,

17test-rvm.xlsm (24.83 Ko)
alexj78 a écrit :

Lorsque je souhaite modifier la formule il me marque #NOM? dans la cellule et j'ai un popup qui s'ouvre disant : Impossible de modifier une partie de matrice

Bonsoir,

pour pouvoir modifier une fonction matricielle enregistrée sur plusieurs cellules, il faut selectionner toutes les cellules avant de faire la modification, puis ne pas oublier de valider avec CTRL+Maj+Entrée

pour l'exemple, la formule a été introduite en sélectionnant J2,K2,L2 et M2 puis validée (CTRL-Maj-Entrée) ensuite ces 4 cellules ont été copiées vers le bas

Merci beaucoup ! Maintenant petit question : si j'étends la formule sur plusieurs colonne, et que dans la feuille1 j'ai pas renseigné autant de date que de colonne, des fois ca affiche 0 mais des fois ca affiche aussi une mauvaise date ( 00/01/1900 ) Bizarre

EDIT : des fois il y a rien dans les cellules, c'est ce que je souhaite avoir ! Je joins un imprim écran ( les 2 premières dates sont renseignés et les 4 d'après ne le sont pas !)

capture

Bonjour,

0 est affiché quand rien n'est trouvé

si le format de la case est date, le 0 est affiché comme 00/01/1900

j'avais mis une mise en forme personnalisée sur la plage J2:M4

tu peux copier cette mise en forme personnalisée en sélectionnant J2 puis en cliquant (sur la brosse (format painter) puis en sélectionnat les cellules sur lesquelles tu veux appliquer ce format.

Super ! Merci beaucoup !

Rechercher des sujets similaires à "mise relation deux feuille champs commun"