Formule Excel A=B

Résolu
Super Memelo Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
Super Memelo Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Malgré des recherches sur le sujet je n'ai pas trouvé de réponses à mon probleme.

J'ai un fichier excel qui correspond à l'export de 2 tables d'une base de données.

Sur ce fichier j'ai :
- la colonne A qui contient un numéro d'ID de la 1ere table
- la colonne B qui contient un numéro d'ID de la 2nde table
- la colonne C qui contient des valeurs de formats (vidéo) (1ere table)
- la colonne D dans laquelle j'aimerais reporter mes valeurs de formats (2eme table)

J'essaye de trouver une formule qui pourrait me permettre de copier les valeurs de C dans D quand les ID de A et B correspondent.
Parfois j'ai 2 valeurs dans C pour un ID donné. Si les données peuvent ne pas se remplacer au fur et à mesure ce serait chouette mais bon au stade ou j'en suis je ne suis pas trop exigeante.

Cela est-il possible en formule ?

Un grand merci pour votre aide parce que faire tout ça à la main....

Bonne soirée

Memelo
A voir également:

16 réponses

Utilisateur anonyme
 
Bonsoir,
J'essaye de trouver une formule qui pourrait me permettre de copier les valeurs de C dans D quand les ID de A et B correspondent. 


essaye en mettant en D:

=si(A1=B1;C1;"")
puis tu ''tires'' la formule vers le bas

Parfois j'ai 2 valeurs dans C pour un ID donné. Si les données peuvent ne pas se remplacer au fur et à mesure ce serait chouette 


La je n'ai pas bien compris.

A+
0
Super Memelo Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   1
 
Salut,

Merci pour ta réponse Priouman mais en fait cette formule ne fait pas tout à fait ce que je souhaite.

En effet elle ne marche que si les numéros d'ID de A et B sont en face. Hors ils ne le sont pas toujours (parfois il n y avait pas de valeurs de format dans la 2eme table de la BDD) et c'est justement pour ça que j'ai besoin d'une formule.

A force de lire des réponses sur le net, je crois que ce serait un truc avec "Range" car, si j'ai bien compris cela permettrait de prendre en compte toute la colonne A et toute la colonne B.

Quant à cette phrase "Si les données peuvent ne pas se remplacer au fur et à mesure", c'est juste que parfois j'ai plusieurs lignes (donc plusieurs formats) dans A qui concerne le même ID.


N'hésites pas si je suis pas assez clair, je crois qu'il est possible de poster un exemple du fichier sinon...

Merci

Memelo
0
Utilisateur anonyme
 
Le plus simple effectivement c'est de mettre le fichier sur http://cjoint.com/ et de coller le lien dans un post avec des explications heu!... précises.

A+
0
Super Memelo Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   1
 
Ok.
Le fichier est ici : https://www.cjoint.com/?fpmHExvaVB

Donc je vais essayer d'être le plus claire possible :

Ce tableau excel est en fait le regroupement de 2 tables extraites d'une base de données SQL :
- La table du champ "format du film" (col. A & B)
- la tables des "codes barres des cassettes vidéos" (Col. C & D)

Sur le fichier excel joint il y a 5 colonnes :

- Colonne A : Valeurs de formats vidéos (16/9 ou 4/3 ou Inconnu... j'ai juste un pbm de mise en forme)
- Colonne B : les numéros ID attribués par la base de données à mes cassettes vidéos
- Colonne C : les numéros ID attribués par la base de données à mes cassettes vidéos
- Colonne D : les valeurs du champ codes-barre
- Colonne E : vide sur laquelle je voudrais appliquer la formule

Les numéros d'ID de B et C ne sont pas toujours en face les uns des autres car sur ma table 1 (format de film) j'ai souvent plusieurs formats par cassette.

Mon idée est au final de me retrouver avec 3 colonnes (ID, format vidéo, n° de code barre) comme si je n'avais extrait qu'une seule table de ma BDD.

En fait, je souhaiterais comparer les n° ID de B et C et lorsqu'il sont identiques , prendre la valeur de A et la copier dans E pour pouvoir ensuite supprimer les colonnes A et B.

J'espère que c'est assez clair, c'est vrai que ce n'est pas facile à expliquer.

merci encore à ceux qui pourront m'aider...

Memelo
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Salut,

Pour commebcer traitons un sujet à la fois, contrôle tes données colonne A pour les mettre au même format, en A3 par exemple tu as un format date

mettre la colonneA en surbrillance ou la partie à traiter et Format/Cellule/Standard

ensuite Edition/Remplacer
0,672916666666667
par
2,11111111111111
ce qui va traiter 19/9


recommence Edition/Remplacer
0,16875
par
1,33333333333333

ce qui va traiter les 4/3

Ensuite mettre la colonne A en surbrillance et Format/Cellule/Nombre/sélectionner personnalisé et saisir le format 0/0


Par contre ta deuxème partie de question n'est pas très claire, tu souhaites comparer la colonne A et B et si les chiffres sont les mêmes en A et B ils doivent être recopié en E.
Lorsqu'ils sont en face pas de problème, mais tu dis que parfois ils ne sont pas en face alors que faut il faire par exemple si en B12 tu as 10 et en C 12 tu as 11

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Super Memelo Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   1
 
Salut Mike,

C'est fait !
Merci bcp parce que je dois avouer qu'après avoir essayer tous les formats, je m'étais résignée !!
0
Utilisateur anonyme
 
En fait, si j'ai bien compris tu voudrais faire une jointure entre les deux tables, sur le N° ID (je crois?)

Possèdes tu la base de données origine ? parce ce qu'il serait plus simple d'extraire les données telles que tu les veux, puis de les importer dans Excel.

A+
0
Super Memelo Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   1
 
oui je possède la base d'origine.
Mais importer les données dans excel c'est ce que j'ai fais (format CSV).
Malheureusement la BDD est un peu particulière (PMB), elle différencie les types de champs (personnalisés ou non) en tables SQL différentes... donc je me retrouve avec 2 fichiers csv différents qui n'ont en commun que le n° d'ID....

C'est pas simple tout ça... mais je me rassure en me disant qu'il doit bien y avoir une formule ou une action vbs...

Merci

Memelo
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Je ne connais pas cette Base de Données, mais ne peux tu faire une requête (du style :select T1.Id,T1.format,T2.codes barres from T1,T2 where T1.Id=T2.Id) dont tu pourrait importer le résultat dans excel ?
0
SuperMemelo
 
Oui il faudrait que j'essaye mais mon souci et qu'il n y a qu'un table avec les champs "personnalisables" et j'ai 3 champs...
Donc quand j'exporte dans excel je me retrouve avec 3 valeurs sur 3 lignes par exemplaires...
Enfin c'est pas très pratique..

Mais tu penses que je ne peux vraiment pas trouver une formule ou un code sous excel pour arriver à ce que je veux ? C'est trop compliqué ?
Ce serait dommage, ça m'aurait permis de faire pleins de trucs ! ;o)))

Merci de ton aide en tt cas

Memelo
0
Utilisateur anonyme
 
Je ne comprend pas ces champs personnalisables ! Ils sont dans la base on peut faire une requête dessus !

Pour le coté excel, je ne sais pas s'il y a possibilité par une formule; par un code VBA c'est faisable, mais pourquoi créer une ''usine à gaz'' qui ne servira qu'une fois alors que le résultat d'une requête simple peut être importé pour obtenir la même chose ( heu ... je crois que je me répète...)
0
SuperMemelo
 
Oui je sais, c'est compliqué !!

En fait si je veux faire ça c'est justemment que ces champs personnalisable ne sont pas interrogeables !! C'est carrément bizarre mais j'ai posé un question sur la liste de diffusion du logiciel et ça a l'air d'être normal..

Le hic c'est que je m'en suis aperçue après avoir rempli ces champs. Ma manip sous excel avait pour but de réorganiser ces données pour les reporter dans un champ interrogeable...

C'est pas grave, je vais le faire à la main...

Merci
0
Utilisateur anonyme
 
J'essaye d'exporter les données du fichier excel dans Acces puis de réimporter le résultat sous excel, je te tiens au courant
0
Utilisateur anonyme
 
Ca marche, mais ce que j'ai fait ne présente aucun intérêt pour toi puisque (je suppose) toutes les données ne figurent pas dans le fichier déposé sur ci-joint.

Dépose tes fichiers csv sur ci-joint et précise ce que tu veux récupérer et dans quel ordre, ( à moins que le contenu soit confidentiel)
A+
0
Super Memelo Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   1
 
Ouaaaah Merci du temps que tu prends pour m'aider. C'est vraiment sympa.

J'ai ré-extrait mes 2 tables sur un fichier CSV https://www.cjoint.com/?fqs4utUb0A
Les 2 tables se retrouvent l'une sous l'autre.

En premier il y a la table exemplaires qui comprend les ID K7, les codes-barres et le type de K7

En deuxième la table expl_custom_values qui comprends les mêmes ID K7, un chiffre d'identification du champ personnalisable et les valeurs correspondantes à ces champs.
Le champ 6 reprend les références externes (un numéro)
Le champ 9 les valeurs de formats (16/9, 14/9, 4/3, Inconnu ou Autre)

Ce que je cherche à obtenir comme données finales, c'est un tableau excel avec dans l'ordre :
- expl_id de la table explemplaires qui correspond au champ expl_custom_origine de la table expl_custom_values (ID des K7)
- expl_cb
- expl_cote
- expl_notice
(id des fiches films auxquelles les K7 sont rattachées)
- une colonne format (valeurs du champ expl_custom_small_text n°6)
- une colonne ref.externe (valeurs du champ expl_custom_small_text n°9)

Je n'ai pas fais de tri comme sous l'autre fichier.
J'espère que ça t'ira.

Merci
0
Utilisateur anonyme
 
Pas le temps ce soir mais peut être demain
A+
0
Super Memelo Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   1
 
Y a pas de problème !!
Prends le temps dont tu as besoin...

Bonne soirée
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour tout le monde,

Si j'ai bien suivi voici 2 fonctions excel qui pourront peut-être t'aider à faire ce que tu veux :
- EQUIV() te permet de récupérer le n° de ligne où est une donnée.
- INDEX() te permet de récupérer une valeur d'une ligne donnée

exemple
J'ai laissé séparé les formules pour faciliter la compréhension.
Ne pas oublier copier/collage spécial valeur avant de supprimer les colonnes intermédiaires.
eric
0
Utilisateur anonyme
 
Re
Bon quelques petites questions :
on trouve des formats 16/9, 4/3, mais aussi du 14/9 est ce une erreur de saisie ou est ce un format existant?
on trouve également des formats "exotiques" (AC174395,408666,7201833,.....) qui sont assortis de la valeur 6 dans le champ expl_custom_champ. Faut-il conserver ces lignes au final ?

Stand by

A+
0
Super Memelo Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour Priouman

Oui tout ça est normal.. le 14/9 est un format vidéo et les valeurs de ref. externes sont dépareillées !
0
Super Memelo Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   1
 
Salut Eriiic

Merci aussi pour ton aide.
J'ai pas tout compris mais tes formules ont l'air de faire exactement ce que je cherche !
C'est top ! Je vais me pencher dessus pour en comprendre la logique.

Merci vraiment pour votre aide à tous les 2 vous ne savez pas encore tout le temps que je vais gagner :o))

Memelo
0
Utilisateur anonyme
 
voila ce que ça peut donner


https://www.cjoint.com/?froKq0D5sI

A+
0
Super Memelo Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   1
 
Salut Priouman,

Je viens de voir ton fichier et, c'est exactement ça ! Comment tu as fais finalement ??
Juste un détail, parfois il y avait 2 valeurs pour les formats mais dans ton tableau toutes les lignes n'en ont qu'une.

Merci de ton aide

Memelo
0
Utilisateur anonyme
 
La procédure:
Création de 2 tables Acces et importation des données depuis le fichier Excel:
Requête sql pour remplir une 3ème table avec les données nécessaires.
Importation des données de la table 3 sur Excel

et puis la j'avais plusieurs lignes avec le même Id dont une parfois avec le fameux code 6, dont tu voulais voir la valeur dans un champ ref.externe; donc moulinette VBA avec récupération de la valeur code 6 inscription dans le champ ref.externe aux niveau des id correspondants puis suppression de cette ligne

parfois il y avait 2 valeurs pour les formats mais dans ton tableau toutes les lignes n'en ont qu'une

dans ton fichier on a un Format par ligne (donc par Id), s'il y a un autre format pour un même id on le trouve sur une autre ligne:(voir extrait ci dessous)
6	4574	Master	7	14/9
6	4574	Master	7	16/9

Ce n'est pas le résultat souhaité ?
Par ailleurs les deux fichiers (exemplaires et expl_custom_values) n'avait pas le même nombre d'Id et dans le fichier que je t'ai transmis, il manque 4 ou 5 Id. Je les ai rajoutés dans le fichier joint ci-dessous. Pour ces Id, on n'a pas tous les renseignements notamment le format.
https://www.cjoint.com/?fsneUATCoE

A+
0
Super Memelo Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   1
 
Salut,

Si, si le résultat est tout à fait ce que je souhaitais !

Par ailleurs les deux fichiers (exemplaires et expl_custom_values) n'avait pas le même nombre d'Id et dans le fichier que je t'ai transmis, il manque 4 ou 5 Id. Je les ai rajoutés dans le fichier joint ci-dessous. Pour ces Id, on n'a pas tous les renseignements notamment le format.

Oui c'est normal, cela vient de la saisie des infos : parfois nous avions l'info et parfois non !

Je te remercie encore pour ton aide et celle d'eriiic
Je sais maintenant qu'il y a 2 méthodes efficaces pour faire ce que je souhaitais.
J'espère que ça en aidera d'autres.

Memelo
0