![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Excel Forum d'entraide sur Excel |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre du Club
![]() Date d'inscription: juin 2008
Messages: 81
|
Bonjour,
je pense que tout est dans le titre de la discussion. J'ai deux tableaux Excel est j'aimerais les comparer. Est ce qu'il existe un programme, une requete excel (ou access) qui permette de faire cette comparaison !? En fait, mes deux tableaux Excel ont un nombre de lignes et colonnes différent. Il faut que je trouve une façon de comparer, voir si un numéro (une référence) se trouve dans les deux tableaux. Merci Dernière modification par fring ; 13/08/2008 à 23h51 Motif: Fusion de 2 messages |
|
|
|
|
|
#2 (permalink) |
|
Membre Expert
![]() Date d'inscription: novembre 2006
Âge: 45
Messages: 1 078
|
je reprend ma pince a "extraire les infos une à une"
la réponse a ta question et "oui ça existe" mais en réalité, des outils capable de faire ce que tu demande il en existe plein. mais ça dépend de comment sont organisés tes tableaux. donc, je réitere ma question "et tu veux savoir quoi ?" une réponse du style j'ai 2 tableau, en colonne A les nom, en colonne b les prénom, je veux savoir si les noms du premier sont dans le second je veux savoir si en tapant jean, je peux connaitre tt les jean du tableau 2 je veux savoir si en tapant les trois premiere letre je peux afficher le nom entier qui se trouve en tableau 2 je veux savoir si ma reference se trouve en tableau 2 je veux savoir si ma reference se trouve dans la deuxeieme colonne du tableau 2 question precise: reponse precise (bon d'accord c'est si on peut, c'est vrai que des fois la réponse est pas plus claire que la question |
|
|
|
|
|
#3 (permalink) |
|
Membre du Club
![]() Date d'inscription: juin 2008
Messages: 81
|
Ok, je vais donc commencer par le début.
Mon premier tableau a 7 colonnes (la colonne qui m'intéresse est la 4ème). Le second en a 51 (la colonne qui m'intéresse est la 37ème). Dans ces deux colonnes, j'ai un numéro de série ("MUT 800412" par exemple). La première manip serait de supprimer l'espace entre MUT et 800412, car dans le deuxième tableau le numéro est de la forme MUT800412. La deuxième manip serait de rechercher dans le second tableau les numéros de série similaires aux deux tableaux. Si vous avez des questions (car je ne pense pas être super clair...), n'hésitez surtout pas. |
|
|
|
|
|
#4 (permalink) |
|
Invité régulier
![]() Date d'inscription: février 2006
Messages: 19
|
Bonjour.
Code :
Range("DEBUT:FIN").Select Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:= _ xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Pour le reste, tu fais quoi quand tu as trouver tes numéros dans la 2ème colonne ?? A+ Dernière modification par fring ; 18/08/2008 à 23h05 Motif: Veuillez utiliser les balises [code] (sélection du code + clic sur #) |
|
|
|
|
|
#5 (permalink) |
|
Membre du Club
![]() Date d'inscription: juin 2008
Messages: 81
|
Bin le truc c'est qu'en Excel je n'ai que les bases, je veux dire, je n'ai jamais vu ça en cours (contrairement à Access...).
Je ne sais donc pas faire de macros ou autre sous Excel. Tu pourrais rentrer un peu dans les détails concernant ce que tu m'as écrit précédemment ou non ..., parceque je ne comprends pas tout ... ? En fait, si un numéro de série se trouve dans les deux fachiers excel, on garde tout la ligne correspondant à ce numéro de série (dans le deuxième tableau), s'il est présent que dans le premier, on le vire du premier, s'il est présent que dans le second, on le vire du second . Tu vois le truc ... ? Merci |
|
|
|
|
|
#6 (permalink) |
|
Membre expérimenté
![]() Date d'inscription: août 2007
Messages: 525
|
Voici une solution sans VBA. C'est un bricolage. Si cela peut te convenir, je te mettrais la méthode, à moins que quelqu'un t'en propose une plus simple.
Dernière modification par marc56 ; 08/09/2008 à 23h22 |
|
|
|
|
|
#7 (permalink) |
|
Membre Expert
![]() Date d'inscription: novembre 2006
Âge: 45
Messages: 1 078
|
et pour ce qui est de supprimer ton espace, une solution simple
selectionner ta colonne, faire édition/remplacer (ou ctrl H) et taper un espace dans la case "rechercher" et rien dans la case "remplacer par". puis appuyer sur "remplacer tout". |
|
|
|
|
|
#8 (permalink) |
|
Futur Membre du Club
![]() Date d'inscription: mars 2008
Messages: 38
|
Bonjour Boubou382002, Bonjour a tous.
Pour supprimer ton espace sans VBA, tu peux utiliser cette fonction: Code :
=SUBSTITUE(D1;" ";"") Pour ta deuxieme manip, suis les conseils de marc56, c'est le plus facile. Mais tu peux aussi utiliser la fonction SOMMEPROD. A+ |
|
|
|
|
|
#10 (permalink) |
|
Futur Membre du Club
![]() Date d'inscription: mars 2008
Messages: 38
|
Je t'explique, Marc56 utilise la fonction RECHERCHEV de cette maniere:
Code :
RECHERCHEV(D4,'Tableau 2'!$AK$4:'Tableau 2'!$AK$24,1) 'Tableau 2'!$AK$4:'Tableau 2'!$AK$24 etant ta plage de donnee ou tu fais ta recherche. Dans ton cas ce sera ton premier tableau. 1 est le numero de la colonne dans ta plage de donnee dont tu veux que la fonction RECHERCHEV te redonne le resultat. En bon francais par exemple: Si MUT 800412 est present dans mon second tableau alors, donne moi la valeure de la preimiere colonne de la plage de recherche (en l'ocurence MUT 800412) Si il te donne un autre resultat, cela veut dire que la valeur n'est pas presente. Tu peux alors utiliser la fonction: Code :
IF(H4=D4,"","A SUPPRIMER") J'espere que j'ai ete clair. A+ |
|
|
|
|
|
#11 (permalink) |
|
Membre expérimenté
![]() Date d'inscription: août 2007
Messages: 525
|
Bonjour,
Pour ce qui est de la méthode que j'ai utilisée, voici comment procéder : Après avoir revu tes problèmes d'espaces dans les références et fait les sauvegardes nécessaires. - Tu tries tes 2 feuilles de données en ordre croissant, l'une sur la colonne 4, l'autre sur la colonne 37 (tes références à comparer). - Tu poses 2 colonnes techniques dans chaque feuille, elles seront à supprimer après avoir fait le ménage. Maintenant le principe : Dans la première colonne technique de la feuille 1, tu rentres une formule lui demandant de rechercher la valeur de ta première référence (colonne 4) dans la colonne 37 de ta feuille 2 et de l'afficher. Si la valeur est trouvée, elle sera affichée, sinon ce sera une autre valeur. Dans ta seconde colonne technique, tu demandes de comparer la référence recherchée avec celle trouvée par la recherche. Si la valeur est différente, il faut lui faire afficher "A supprimer". Ensuite tu fais la même opération avec la feuille 2 en demandant de rechercher la valeur de la colonne 37 dans la liste des références de la feuille 1, colonne 4. Pour faciliter la suppression des lignes, je te recommande de faire un copier/coller par collage spécial\valeurs, de la colonne qui affiche "A supprimer" sur les 2 feuilles et ensuite sur ces colonnes, toutes les lignes à supprimer seront regroupées. Si tu as des problèmes pour l'écriture des formules, fais le moi savoir. |
|
|
|
|
|
#12 (permalink) |
|
Membre du Club
![]() Date d'inscription: juin 2008
Messages: 81
|
Bonjour,
je viens de commencer mon travail de comparaison. J'ai essayé de faire comme vous me l'avez dit, mais il y a des choses qui m'échappent... Je n'arrive pas à comprendre comment, avec l'aide de cette méthode, on peut comparer des colonnes qui ne sont pas du même fichier. Je pense que je vais vous mettre mes deux fichiers excel (en simplifié bien sur...) comme ça vous aurez un aperçu concret de mon problème. Dernière modification par Boubou382002 ; 12/11/2008 à 19h16 |
|
|
|
|
|
#14 (permalink) |
|
Futur Membre du Club
![]() Date d'inscription: mars 2008
Messages: 38
|
Bon on reprend depuis le debut,
Dsl pour les deux tableau separes, mais je n'avait pas compris que c'etait sur deux fichiers differents. Comme Marc56 te le demande, est-il vraiment utile d'avoir ces deux tableau sur deux fichier different? De toute facon les formules RECHERCHEV fonctionnent aussi sur deux fichiers different, mais cela t'oblige a les garder ouvert tout les deux. Dc pour reprendre la demarche depuis le debut Premierement, tu cree une colonne avec SUBSTITUE(A1," ","") dans ton premiers fichier, pour supprimer les espaces Deuxiemement, tu cree une colonne dans ton deuxieme fichier avec RECHERCHEV(cellule de ton numero de serie 2eme fichier, table de recherche de ton 1er fichier, numero de la colonne de ton numero de serie sur ta table de recherche). Cela te donnera soit le numero de serie correspondant a celui que tu cherche, soit un autre completement different. Troisiememnt, tu cree une troisieme colonne dans ton deuxieme fichier avec: SI(la cellule que tu vient de creer en deuxiement = a la colonne du numero de serie de ton deuxieme fichier,"","INEXISTANT") si il n'a pas trouve ton numero de seire INEXISTANT aparaitra. voili voilou |
|
|
|
|
|
#15 (permalink) |
|
Membre du Club
![]() Date d'inscription: juin 2008
Messages: 81
|
Bon, j'ai essayé deux trucs différents.
En premier, pour supprimer le blanc, j'ai écrit Code :
=CONCATENER(GAUCHE(D6;3);DROITE(D6;6)) Code :
=SI(I6='H:\[Recherche sites xls]O300'!$AK$3:'H:\[Recherche sites.xls]O300'!$AK$499;"OUI";"NON") Pourriez vous me donner la syntaxe éxacte svp, ou sinon avec recherchev ce que ça donnerait (je sais, j'en fait qu'à ma tête, je n'ai pas utilisé recherchev). Merci |
|
|
|
|
![]() |
![]() |
||
Comparer deux tableaux
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|