Excel vba comparer 2 listes

« Forum technique (liste des messages)12

23/07 à 15:09Bonjour,
j'ai 2 listes à comparer, voir ci dessous:

image

je voudrais à faire concorder les lignes ayant les mêmes dates ET nom
et que lorsqu'il n'y a pas de concordance trouvée, la ligne de la liste ou la concordance manque soit vide. C'est à dire obtenir ceci:

image

Je le fais manuellement, mais est-ce possible par vba ?

Modifie par gaston le 23/07/2008 à  15:10:


----------
le bonheur n'est pas au bout du chemin, il EST le chemin
http://i22.servimg.com/u/f22/11/12/87/18/22-1810.jpg
image



23/07 à 15:30même sans VBA c possible

il suffit de faire 3 colonnes suplemenetaire, avec un contenus conditionnel du genre si (truc=machin; machin;"")




----------
image
un long moment de détente http://spiralbol.free.fr
Partagez vos humeurs http://humeur.forum-actif.net/


Excel vba comparer 2 listes
23/07 à 15:58J'y ai pensé, mais ça marche pas ! prend par exemple la ligne 3: dans la liste bleue tout doit être décalé d'une ligne vers le bas, pour que D3, E3, F3 soient vides
je crois que seule une macro peut résoudre ce genre de problème qui exprime
sélectionner une plage de même date1 dans la liste bleue
si date1=date2 et si nom1=nom2 alors date1 dans une 3ème liste sinon prendre les 3 cellules de cette ligne dans la liste bleue pour les décaler d'une ligne vers le bas
et
sélectionner une plage de même date2 dans la liste jaune
si date1=date2 et si nom1=nom2 alors date2 dans une 4ème liste sinon prendre les 3 cellules de cette ligne dans la liste jaune et toutes cellules du dessous pour les décaler d'une ligne vers le bas
puis faire un tri par date et nom et recommencer avec les cellules du dessous, jusqu'à la fin

et encore je suis pas sûr que ça me donnera ce que je cherche...

Modifie par gaston le 23/07/2008 à  16:16:


----------
le bonheur n'est pas au bout du chemin, il EST le chemin
http://i22.servimg.com/u/f22/11/12/87/18/22-1810.jpg
image


23/07 à 16:07dsl , j'avais ps bien compris le truc [:D]


----------
image
un long moment de détente http://spiralbol.free.fr
Partagez vos humeurs http://humeur.forum-actif.net/


23/07 à 16:09Bonjourça doit etre possible aussi avec des formule basic de comparaison( j'ai fait pire [:D] ) mais ça va donner une méga feuille de calcul en arriere plan [;(]


----------
image
un long moment de détente http://spiralbol.free.fr
Partagez vos humeurs http://humeur.forum-actif.net/


Excel vba comparer 2 listes
23/07 à 16:33 [:D] j'ai fait pire aussi
mais ce truc de décalage je vois pas comment faire sans macro...


----------
le bonheur n'est pas au bout du chemin, il EST le chemin
http://i22.servimg.com/u/f22/11/12/87/18/22-1810.jpg
image


23/07 à 17:51Alors tout bien réfléchi, j'arrive à analyser ce que la macro doit faire:

1) isoler toutes les lignes ayant la même date
2) effectuer un tri par nom pour cette plage
d'abord dans la liste jaune
ensuite dans la liste bleue
3) mettre une formule du type: =SI(A2=D2;A2;"faux") dans la cellule H2 puis faire un copié collé dans les cellules I2, J2, K2, L2, M2 mais en ne modifiant que la valeur si vrai: qui doit être respectivement B2, C2, D2, etc (on obtient ainsi 2 autres listes avec des valeurs dans certaines lignes et des "faux" dans d'autres).
4) ensuite si le contenu de H2 est: "faux", insérer une ligne au dessous
5) copier les cellules A2, B2, C2 en H2, I2, J2 et les cellules D2, E2, F2 en K3, L3, M3
6) effacer les formules dans les cellules juste au dessus (K2, L2, M2)
7) effectuer un tri par nom pour les lignes de mêmes dates n'ayant pas été traitées
d'abord dans la liste jaune
ensuite dans la liste bleue
8) recommencer de 3) à 7) à la ligne suivante jusqu'à la dernière ligne de même date
9) recommencer de 1) à 8) pour une autre date

pfiouuu ! pas de la tarte !

y aurait-il un pro de vba dans la salle ?


Modifie par gaston le 30/07/2008 à  18:01:


----------
le bonheur n'est pas au bout du chemin, il EST le chemin
http://i22.servimg.com/u/f22/11/12/87/18/22-1810.jpg
image


23/07 à 22:20envoie moi ton fichier (passe chez MONARDE pour le MP)

je te bricole un truc avec des "drapeaux" j'aime ce genre de défie [:D]

Modifie par spiralbol le 23/07/2008 à  22:


----------
image
un long moment de détente http://spiralbol.free.fr
Partagez vos humeurs http://humeur.forum-actif.net/


Excel vba comparer 2 listes
24/07 à 09:38Bonjour,
heu...c'est où chez monarde ?


----------
le bonheur n'est pas au bout du chemin, il EST le chemin
http://i22.servimg.com/u/f22/11/12/87/18/22-1810.jpg
image


24/07 à 10:37heuuuuuuuuuuuuu oui

ça plus simple comme ça http://spiralbol.free.fr/contact.htm


----------
image
un long moment de détente http://spiralbol.free.fr
Partagez vos humeurs http://humeur.forum-actif.net/


24/07 à 11:18Bonjour,
fichier envoyé [;)]


----------
le bonheur n'est pas au bout du chemin, il EST le chemin
http://i22.servimg.com/u/f22/11/12/87/18/22-1810.jpg
image


Excel vba comparer 2 listes
24/07 à 11:21fichier reçus [:D]


----------
image
un long moment de détente http://spiralbol.free.fr
Partagez vos humeurs http://humeur.forum-actif.net/


24/07 à 11:28Bonjourtres chiant l'inversion prenom nom [;(]


----------
image
un long moment de détente http://spiralbol.free.fr
Partagez vos humeurs http://humeur.forum-actif.net/


24/07 à 11:35ouaip, très chiant comme tu dis: je bataille avec le mec de mon log pro en lui demandant pourquoi il a inversé les noms prénoms d'une liste à l'autre alors que c'est pas pratique du tout, mais pour l'instant il réagit pas


----------
le bonheur n'est pas au bout du chemin, il EST le chemin
http://i22.servimg.com/u/f22/11/12/87/18/22-1810.jpg
image


Excel vba comparer 2 listes
24/07 à 11:38la liste est toujours de la même longueur??? il faut prevoir plus long je supose


----------
image
un long moment de détente http://spiralbol.free.fr
Partagez vos humeurs http://humeur.forum-actif.net/


24/07 à 11:47Ca peut être plus long effectivement

pour les noms prénoms, on peut utiliser données- convertir puis une fonction concaténation...mais ça implique qu'il ne doit y avoir d'espace qu'entre les noms et prénoms

Modifie par gaston le 24/07/2008 à  11:48:


----------
le bonheur n'est pas au bout du chemin, il EST le chemin
http://i22.servimg.com/u/f22/11/12/87/18/22-1810.jpg
image


24/07 à 11:50je bricole pour 200 données, ce qui compte ce de trouver "LE TRUC" apres je verrais


j'ai déja mal à la tête
[:D]


----------
image
un long moment de détente http://spiralbol.free.fr
Partagez vos humeurs http://humeur.forum-actif.net/


Excel vba comparer 2 listes
24/07 à 11:59Bonjour,
y a plus simple que ce que je disais pour inverser les noms prénoms:
tu crées une colonne juste après B et tu y mets cette formule
=DROITE(B2;NBCAR(B2)-CHERCHE(" ";B2))&" "&GAUCHE(B2;CHERCHE(" ";B2))
après en faisant une 3ème colonne où tu copies colles C2 (valeurs uniquement), c'est ok


pour le reste, si je pensai à une macro, c'est que justement, on n'a plus besoin de se fouler si la longueur est aléatoire: la macro va compter toutes les lignes non vides, et mettre le nombre de lignes dans une variable, avec, si on appelel cette variable "Derligne" un code du genre:
DerLigne = Range("A:A").Find("*", [A1], , , xlByRows, xlPrevious).Row
Range("A1:F" & DerLigne).Select

Modifie par gaston le 24/07/2008 à  12:06:


----------
le bonheur n'est pas au bout du chemin, il EST le chemin
http://i22.servimg.com/u/f22/11/12/87/18/22-1810.jpg
image


30/07 à 17:42Bonjour,

Avez-vous trouvé la solution car je travaille sur le problème en VBA et je n'ai pas encore finit?


----------
Singe laid


30/07 à 18:08Bonjour,

j'ai le code sur une liste simple avec une seule date, mais là où je coince c'est le 1: isoler tous les éléments ayant la même date et les traiter avec la macro, sans toucher le reste de la liste ( après on passe à la date suivante avec une boucle jusqu'à EndXldown)
On peut les sélectionner d'abord dans la liste jaune, couper, coller sur une autre feuille, puis pareil avec liste bleue, exécuter la macro, couper tout et les coller en insertion sur la 1ère liste, refaire pareil pour la date suivante, mais ça me paraît un peu lourd...
ptêt en nommant les plages ? je cherche la meilleure solution, mais je suis pas un pro en vba, et y a sûrement des fonctions que j'ignore...
et puis malheureusement, j'ai plein d'autres projets en cours... [;(] J'ai un truc urgent à faire en php avec base MySql, c'est pas pour le boulot, mais c'est urgent quand même...

Modifie par gaston le 30/07/2008 à  18:13:


----------
le bonheur n'est pas au bout du chemin, il EST le chemin
http://i22.servimg.com/u/f22/11/12/87/18/22-1810.jpg
image


Le post anonyme est désactivé.
Merci de vous identifier

« Forum technique (liste des messages)12

40 Enregistrements / Page 1/2

À la Une de MemoClic

Le saviez vous ? Vous pouvez installer cette bannière ↑ gratuitement sur votre site !