Comment associer des colonnes ayant une colonne clé commune mais non exhaustive ?

Le
Someone Else
Bonjour,

Je gère tout un parc de machines (près de 4.000) mais je ne suis pas très
fort sous Excel.

Voici mon problème :
- j'ai plusieurs bases d'informations concernant mes machines (avec des
informations spécialisées dans chacune de ces bases) et je peux sortir des
listes de ces différentes bases. Exemple : je peux sortir une liste de base
1 qui contient nom de machine / adresse IP et je peux sortir de la base 2
une liste dans laquelle je vais trouver nom de machine / type de matériel
associé
- dans toutes ces bases j'ai toujours le nom des machines en commun, mais
certaines machines ne sont pas dans toutes les bases
- je souhaiterais quotidiennement réunir dans une feuille Excel les infos de
mes différentes bases en utilisant le nom de machine comme colonne commune.
Exemple : une feuille Excel avec les 3 colonnes suivantes : nom de machine /
adresse IP / matériel associé
- bien évidemment je souhaite avoir l'exhaustivité des noms de machines dans
ma 1ère colonne (union des noms des 2 bases mais sans doublons) et une
machine dans la base 1 mais pas dans la base 2 ne pourra pas fournir le
matériel associé dans la cellule de la 3e colonne alors qu'une machine dans
la base 2 mais pas dans la base 1 ne pourra pas fournir l'adresse IP dans la
cellule de la 2e colonne.

Quelqu'un saurait-il me dire quelle est la façon la plus simple pour arriver
au résultat désiré ?

D'avance, merci pour votre aide !
Bon week-end.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #20075431
bonjour ,

as-tu essayé avec query,

les fichiers source doivent être fermer,
données / rapport de tableau croisé dynamique.
cocher « source de données externe, « suivant ».
« obtenir des données », onglet « base de données », « fichiers excel »,
« ok ».
choisir le classeur.
« options », tout cocher. et surtout table système
cliquer sur la première feuille et sur « > ».
eventuellement ôter les champs inutilisés.
« suivant », « suivant », « suivant » (suffisant pour l'exemple).
cocher « afficher la requête ou modifier la requête dans microsoft query
», « terminer ».
bouton « sql ».
fichier, renvoyer les données sur ms excel
terminer le tcd de la manière habituelle.

exemple de sql :

« select `feuil1$`.département, `feuil1$`.montants, `feuil1$`.noms
'from `c:donneestcd mf`.`feuil1$` `feuil1$` »
union
« select `feuil2$`.département, `feuil2$`.montants, `feuil2$`.noms
'from `c:donneestcd mf`.`feuil2$` `feuil2$` »

isabelle


Someone Else a écrit :
Bonjour,

Je gère tout un parc de machines (près de 4.000) mais je ne suis pas
très fort sous Excel.

Voici mon problème :
- j'ai plusieurs bases d'informations concernant mes machines (avec
des informations spécialisées dans chacune de ces bases) et je peux
sortir des listes de ces différentes bases. Exemple : je peux sortir
une liste de base 1 qui contient nom de machine / adresse IP et je
peux sortir de la base 2 une liste dans laquelle je vais trouver nom
de machine / type de matériel associé
- dans toutes ces bases j'ai toujours le nom des machines en commun,
mais certaines machines ne sont pas dans toutes les bases
- je souhaiterais quotidiennement réunir dans une feuille Excel les
infos de mes différentes bases en utilisant le nom de machine comme
colonne commune. Exemple : une feuille Excel avec les 3 colonnes
suivantes : nom de machine / adresse IP / matériel associé
- bien évidemment je souhaite avoir l'exhaustivité des noms de
machines dans ma 1ère colonne (union des noms des 2 bases mais sans
doublons) et une machine dans la base 1 mais pas dans la base 2 ne
pourra pas fournir le matériel associé dans la cellule de la 3e
colonne alors qu'une machine dans la base 2 mais pas dans la base 1 ne
pourra pas fournir l'adresse IP dans la cellule de la 2e colonne.

Quelqu'un saurait-il me dire quelle est la façon la plus simple pour
arriver au résultat désiré ?

D'avance, merci pour votre aide !
Bon week-end.




Modeste
Le #20075491
Bonsour® Someone Else avec ferveur ;o))) vous nous disiez :

Je gère tout un parc de machines (près de 4.000) mais je ne suis pas
très fort sous Excel.

Voici mon problème :
- j'ai plusieurs bases d'informations concernant mes machines (avec
des informations spécialisées dans chacune de ces bases) et je peux
sortir des listes de ces différentes bases. Exemple : je peux sortir
une liste de base 1 qui contient nom de machine / adresse IP et je
peux sortir de la base 2 une liste dans laquelle je vais trouver nom
de machine / type de matériel associé



;o))) si tu n'es pas trés fort en excel...
ce que tu nous présentes c'est un exemple typique de base relationelle
cela se traite trés facilement et simplement avec un SGBDR tel que ACCESS

pour réaliser cela avec EXCEL, il conviendrait de maitriser
au moins les fonctions SI, RECHERCHEX, INDEX, EQUIV
cela est alors envisageable sous EXCEL ;o)))

sans connaitre la réelle disposition des données respectives,
voici succintement le principe :
il faut d'abord créer une liste exhaustive et unique des Machines
par ajout des Noms de machine(seulement) de la base 1 et de la base 2
puis filtrage sans doublon

cette base commune servira alors de base de recherche (en nommant préalablement les plages de données dans chaque base)

pour recuperer adresseIP
=INDEX(Base1!adresseIP;EQUIV(BaseC!Machine ; Base1!NomMachine;0);1)
pour récuperer typeMat
=INDEX(Base2!Typemat;EQUIV(BaseC!Machine ; Base2!NomMachine;0);1)
Someone Else
Le #20076851
Merci.

Mais comme Excel a une fonction "convertir" et une fonction "supprimer les
doublons", j'espérais avoir la fonction inverse : "unir et supprimer les
doublons"... je cherchais un truc simple qui puisse être utilisé par
n'importe qui.
Someone Else
Le #20077121
Merci.

Mais comme Excel a une fonction "convertir" et une fonction "supprimer les
doublons", j'espérais avoir la fonction inverse : "unir et supprimer les
doublons"... je cherchais un truc simple qui puisse être utilisé par
n'importe qui.

La solution la moins longue à laquelle j'avais pensé était :
- concaténer les 2 liste de machines
- trier et supprimer les doublons
-> j'ai une liste unique et complète
- ensuite je fais des recherchev pour mes 2 colonnes adresse IP et type
matériel.

Mais je trouvais ça trop lourd.
Modeste
Le #20077221
Bonsour® Someone Else avec ferveur ;o))) vous nous disiez :

Mais comme Excel a une fonction "convertir" et une fonction
"supprimer les doublons", j'espérais avoir la fonction inverse :
"unir et supprimer les doublons"... je cherchais un truc simple qui
puisse être utilisé par n'importe qui.

La solution la moins longue à laquelle j'avais pensé était :
- concaténer les 2 liste de machines
- trier et supprimer les doublons
-> j'ai une liste unique et complète
- ensuite je fais des recherchev pour mes 2 colonnes adresse IP et
type matériel.

Mais je trouvais ça trop lourd.


;o)))
c'est exactement ce que j'ai émis comme principe ...

dans ton message initial tu dis : "je peux sortir.. etc..."
c'est donc que tu exécutes toi-même une requete directement sur la base de données pour sortir les deux listes
peut-etre as-tu alors accés au langage de requete (SQL ?)
voir alors l'instruction JOIN
En gestion de base de données relationnelle, une jointure est une combinaison des enregistrements de deux tables disposant de valeurs correspondantes dans une colonne donnée de chaque table (souvent ayant le même nom dans les deux).

La table résultante est construite temporairement en fonction des prédicats spécifiés dans la requête. En SQL, une jointure peut être définie en indiquant plusieurs tables derrière une clause FROM, séparées par des virgules (jointure implicite) ou bien en utilisant le mot-clé JOIN (jointure explicite).
Someone Else
Le #20078101
> c'est exactement ce que j'ai émis comme principe ...

dans ton message initial tu dis : "je peux sortir.. etc..."
c'est donc que tu exécutes toi-même une requete directement sur la base de
données pour sortir les deux listes
peut-etre as-tu alors accés au langage de requete (SQL ?)
voir alors l'instruction JOIN
En gestion de base de données relationnelle, une jointure est une
combinaison des enregistrements de deux tables disposant de valeurs
correspondantes dans une colonne donnée de chaque table (souvent ayant le
même nom dans les deux).

La table résultante est construite temporairement en fonction des
prédicats spécifiés dans la requête. En SQL, une jointure peut être
définie en indiquant plusieurs tables derrière une clause FROM, séparées
par des virgules (jointure implicite) ou bien en utilisant le mot-clé JOIN
(jointure explicite).



Malheureusement, lorsque je parle de bases, c'est à interpréter de manière
conceptuelle.
Les sources d'infos sont multiples et les outils multiples. Ce ne sont en
aucun cas des BDD sur lesquelles je peux lancer des requêtes. Je peux juste
sortir des listes à plat en mode texte que je peux assez facilement intégrer
sous Excel sous forme de listes.

Merci quand même !
Publicité
Poster une réponse
Anonyme