Problème avec macro Excel de recherche
Fermé
Jason901
Messages postés
7
Date d'inscription
jeudi 25 juin 2009
Statut
Membre
Dernière intervention
1 juillet 2009
-
25 juin 2009 à 13:33
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 10 août 2009 à 19:38
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 10 août 2009 à 19:38
A voir également:
- Problème avec macro Excel de recherche
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
17 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
25 juin 2009 à 13:53
25 juin 2009 à 13:53
Bonjour,
petite question:
ta liste 2 est elle la m^me que la liste 1= nombre de "test", valeurs, ordre
dans l'attente,
petite question:
ta liste 2 est elle la m^me que la liste 1= nombre de "test", valeurs, ordre
dans l'attente,
Jason901
Messages postés
7
Date d'inscription
jeudi 25 juin 2009
Statut
Membre
Dernière intervention
1 juillet 2009
25 juin 2009 à 14:42
25 juin 2009 à 14:42
Bonjour, merci de votre intérêt ;)
Alors pas forcément, dans la première liste on peut avoir 5 fois test1 et que une ou 2 fois retrouver test1 dans la deuxième série
Salutations
Alors pas forcément, dans la première liste on peut avoir 5 fois test1 et que une ou 2 fois retrouver test1 dans la deuxième série
Salutations
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
25 juin 2009 à 14:51
25 juin 2009 à 14:51
OK,mais
1/Si j'ai 5 ou N fois Test1 dans liste1 et 1 fois dans liste2: qu'est ce que lon fait? la somme? la valeur la + forte?....
2/Si j'ai 5 ou N fois Test1 dans liste1 et plusieurs fois dans liste2 sur quoi se base t'on et qu'est ce que l'on fait?
1/Si j'ai 5 ou N fois Test1 dans liste1 et 1 fois dans liste2: qu'est ce que lon fait? la somme? la valeur la + forte?....
2/Si j'ai 5 ou N fois Test1 dans liste1 et plusieurs fois dans liste2 sur quoi se base t'on et qu'est ce que l'on fait?
Jason901
Messages postés
7
Date d'inscription
jeudi 25 juin 2009
Statut
Membre
Dernière intervention
1 juillet 2009
25 juin 2009 à 16:27
25 juin 2009 à 16:27
reBonjour, voici les réponses :
En fait dans la première liste s'il y a plusieurs test1 ce serait toujours avec une valeur +1 associée, exemple :
test1 1
test1 2
test1 3
Il faut que le premier test1 de la deuxième liste soit incrémenter de 1, donc la liste 2 devra ici contenir :
test1 4
Et s'il y a 2 test1 dans la première liste, alors il faudra dans la deuxème avoir :
test1 4
test1 5
Désolé de ne pas avoir pensé à donner ses informations au départ et merci de ton aide ! ;)
En fait dans la première liste s'il y a plusieurs test1 ce serait toujours avec une valeur +1 associée, exemple :
test1 1
test1 2
test1 3
Il faut que le premier test1 de la deuxième liste soit incrémenter de 1, donc la liste 2 devra ici contenir :
test1 4
Et s'il y a 2 test1 dans la première liste, alors il faudra dans la deuxème avoir :
test1 4
test1 5
Désolé de ne pas avoir pensé à donner ses informations au départ et merci de ton aide ! ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Jason901
Messages postés
7
Date d'inscription
jeudi 25 juin 2009
Statut
Membre
Dernière intervention
1 juillet 2009
29 juin 2009 à 12:47
29 juin 2009 à 12:47
Bonjour, avez vous trouvé un semblant de solution à mon problème ?
Je suis sûr qu'il ne manque pas grand chose :(
Je suis sûr qu'il ne manque pas grand chose :(
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
29 juin 2009 à 13:27
29 juin 2009 à 13:27
ta demande m'est incompréhensible...
donc, j'ai laissé tomber
donc, j'ai laissé tomber
Jason901
Messages postés
7
Date d'inscription
jeudi 25 juin 2009
Statut
Membre
Dernière intervention
1 juillet 2009
30 juin 2009 à 11:49
30 juin 2009 à 11:49
Hello michel_m.
Désolé pour les explications. Je vais essayer de faire mieux :
Ma première liste contient des positions de commandes, c'est à dire que pour chaque article rattachés à une commande il y a une numérotation. S'il y a 3 articles sur la première commande A et 4 sur la deuxième B alors j'aurai :
commandeA 1
commandeA 2
commandeA 3
commandeB 1
commandeB 2
commandeB 3
commandeB 4
Je pense que cela est plus clair désormais ;o)
Passons à la deuxième liste maintenant :
Il s'agit également de positions de commandes mais celles-ci représentent des frais de ports et parfois un rabais. Le rabais est présent selon le montant total de la commande (juste pour info, ce travail de récupération du rabais se fait en amont).
Donc, à la base j'ai ma liste 2 qui se présente ainsi :
commandeA typ_fdp
commandeB typ_fdp
commandeB typ_rabais
Par exemple on voit ici que la commande B contient un rabais.
Le but de la macro est de rechercher dans la première liste la commandeA, trouver sa position la plus élevée, et reporter cette position dans la 2ème liste en faisant +1 afin d'obtenir :
commandeA 4 typ_fdp
commandeB 5 typ_fdp
commandeB 6 typ_rabais
J'espère que tu as saisi ma problématique et ça serait vraiment cool de m'aider, car je m'arrache les cheveux.
D'avance,merci beaucoup !
Jason
Désolé pour les explications. Je vais essayer de faire mieux :
Ma première liste contient des positions de commandes, c'est à dire que pour chaque article rattachés à une commande il y a une numérotation. S'il y a 3 articles sur la première commande A et 4 sur la deuxième B alors j'aurai :
commandeA 1
commandeA 2
commandeA 3
commandeB 1
commandeB 2
commandeB 3
commandeB 4
Je pense que cela est plus clair désormais ;o)
Passons à la deuxième liste maintenant :
Il s'agit également de positions de commandes mais celles-ci représentent des frais de ports et parfois un rabais. Le rabais est présent selon le montant total de la commande (juste pour info, ce travail de récupération du rabais se fait en amont).
Donc, à la base j'ai ma liste 2 qui se présente ainsi :
commandeA typ_fdp
commandeB typ_fdp
commandeB typ_rabais
Par exemple on voit ici que la commande B contient un rabais.
Le but de la macro est de rechercher dans la première liste la commandeA, trouver sa position la plus élevée, et reporter cette position dans la 2ème liste en faisant +1 afin d'obtenir :
commandeA 4 typ_fdp
commandeB 5 typ_fdp
commandeB 6 typ_rabais
J'espère que tu as saisi ma problématique et ça serait vraiment cool de m'aider, car je m'arrache les cheveux.
D'avance,merci beaucoup !
Jason
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
30 juin 2009 à 13:23
30 juin 2009 à 13:23
Bonjour,
Voici une proposition. Pour simplifier j'ai mis tes données sur 2 feuilles (et j'ai fait à mon idée sans reprendre ton code).
J'ai considéré qu'il n'y avait qu'un seul espace dans 'commandeA 1' comme dans ton exemple, et j'ai concaténé le résultat. Sinon tu adapteras, la structure est là...
jason901.xls
eric
Voici une proposition. Pour simplifier j'ai mis tes données sur 2 feuilles (et j'ai fait à mon idée sans reprendre ton code).
J'ai considéré qu'il n'y avait qu'un seul espace dans 'commandeA 1' comme dans ton exemple, et j'ai concaténé le résultat. Sinon tu adapteras, la structure est là...
jason901.xls
eric
Jason901
Messages postés
7
Date d'inscription
jeudi 25 juin 2009
Statut
Membre
Dernière intervention
1 juillet 2009
30 juin 2009 à 17:23
30 juin 2009 à 17:23
Merci pour ton aide
Enfait les données sont dans des cellules différentes :
CommandeA 5 typ_fdp sont dans 3 cellules accollées !
Mais je vais essayer d'adapter ton code ;)
Merci je te tiens au jus !
Enfait les données sont dans des cellules différentes :
CommandeA 5 typ_fdp sont dans 3 cellules accollées !
Mais je vais essayer d'adapter ton code ;)
Merci je te tiens au jus !
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
30 juin 2009 à 17:42
30 juin 2009 à 17:42
Re,
Désolé, La première contient des valeurs accolées : pour moi ça veut dire que ça ne forme plus qu'une seule valeur...
Du coup c'est plus simple :
jason901_2.xls
eric
Désolé, La première contient des valeurs accolées : pour moi ça veut dire que ça ne forme plus qu'une seule valeur...
Du coup c'est plus simple :
jason901_2.xls
eric
Jason901
Messages postés
7
Date d'inscription
jeudi 25 juin 2009
Statut
Membre
Dernière intervention
1 juillet 2009
1 juil. 2009 à 08:15
1 juil. 2009 à 08:15
Bonjour Eric,
Merci beaucoup, "on" est en bonne voie :)
Je bute cependant sur un problème que j'ai depuis le départ :
J'ai toutes mes données, donc mes 2 listes sur la même feuille. Par exemple les 1000 premiers articles constituant la première liste sont séparées de la deuxième liste par une simple ligne vide, je ne peux recevoir les données autrement dans Excel.
Il faudrait donc réussir à intégrer cela, et là je bute totalement, c'est pour moi la plus grosse difficulté.
Merci de ton aide !
Merci beaucoup, "on" est en bonne voie :)
Je bute cependant sur un problème que j'ai depuis le départ :
J'ai toutes mes données, donc mes 2 listes sur la même feuille. Par exemple les 1000 premiers articles constituant la première liste sont séparées de la deuxième liste par une simple ligne vide, je ne peux recevoir les données autrement dans Excel.
Il faudrait donc réussir à intégrer cela, et là je bute totalement, c'est pour moi la plus grosse difficulté.
Merci de ton aide !
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
1 juil. 2009 à 09:32
1 juil. 2009 à 09:32
Bonjour,
Je pensais que tu allais faire un copier-coller mais voici la modif :
jason901_03.xls
eric
PS : si tu peux ajouter juste avant le end sub :
set sh1 = nothing
set sh2 = nothing
merci
Je pensais que tu allais faire un copier-coller mais voici la modif :
jason901_03.xls
eric
PS : si tu peux ajouter juste avant le end sub :
set sh1 = nothing
set sh2 = nothing
merci
Salut eriiic,
Juste pour information je n'ai pas eu l'occsion d'avancer sur le sujet j'ai été placé sur un autre projet cet après-midi je vais cependnat m'y remettre :)
Je te tiens au courant ¨!
Merci a+
Juste pour information je n'ai pas eu l'occsion d'avancer sur le sujet j'ai été placé sur un autre projet cet après-midi je vais cependnat m'y remettre :)
Je te tiens au courant ¨!
Merci a+
Cool, j'y suis presque, j'ai un tout petit peu modifié ton code, notamment au début
cdes(100, 1) As Variant que j'ai transofrmé en cdes(65536, 1) As Variant
J'ai juste une difficulté et c'est réglé :
Les commandes sont listées en B et les positions en C (et non pas respectivement en A et B)
J'ai modifié les lignes
For Each c In sh1.[A2].Resize(sh1.[A1].End(xlDown).Row - 1)
et
For Each c In sh1.[A2].Offset(sh1.[A1].End(xlDown).Row, 0).Resize(sh2.[A65536].End(xlUp).Row - 1)
en
For Each c In sh1.[B2].Resize(sh1.[B1].End(xlDown).Row - 1)
For Each c In sh1.[B2].Offset(sh1.[B1].End(xlDown).Row, 0).Resize(sh2.[A65536].End(xlUp).Row - 1)
Mais ça ne va pas, je vois pas ce qui cloche.
Si je peux encore te solliciter pour ça..
Merci beaucoup !
Jason
cdes(100, 1) As Variant que j'ai transofrmé en cdes(65536, 1) As Variant
J'ai juste une difficulté et c'est réglé :
Les commandes sont listées en B et les positions en C (et non pas respectivement en A et B)
J'ai modifié les lignes
For Each c In sh1.[A2].Resize(sh1.[A1].End(xlDown).Row - 1)
et
For Each c In sh1.[A2].Offset(sh1.[A1].End(xlDown).Row, 0).Resize(sh2.[A65536].End(xlUp).Row - 1)
en
For Each c In sh1.[B2].Resize(sh1.[B1].End(xlDown).Row - 1)
For Each c In sh1.[B2].Offset(sh1.[B1].End(xlDown).Row, 0).Resize(sh2.[A65536].End(xlUp).Row - 1)
Mais ça ne va pas, je vois pas ce qui cloche.
Si je peux encore te solliciter pour ça..
Merci beaucoup !
Jason
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
21 juil. 2009 à 19:56
21 juil. 2009 à 19:56
Bonjour,
A vue de nez j'aurais fait pareil... Apparement tu as bien différencié sh1 et sh2.
Pour ne pas multiplier les hypothèses il faudrait que tu déposes ton fichier débarrassé des données confidentielles sur cijoint.fr et que tu colles ici le lien fourni.
eric
A vue de nez j'aurais fait pareil... Apparement tu as bien différencié sh1 et sh2.
Pour ne pas multiplier les hypothèses il faudrait que tu déposes ton fichier débarrassé des données confidentielles sur cijoint.fr et que tu colles ici le lien fourni.
eric
Hello eriiic,
Merci BEAUCOUP, cela marche enfin, je ne sais pas ce qui n'allait pas...
J'ai voulu t'envoyer un fichier de demo et pouf ça a fonctionné :D
Merci mille fois pour ton suivi et ton investissement !
Salutations
Jason
Merci BEAUCOUP, cela marche enfin, je ne sais pas ce qui n'allait pas...
J'ai voulu t'envoyer un fichier de demo et pouf ça a fonctionné :D
Merci mille fois pour ton suivi et ton investissement !
Salutations
Jason
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
10 août 2009 à 19:38
10 août 2009 à 19:38
Bonjour,
ok, merci pour le retour et bonne continuation :-)
eric
ok, merci pour le retour et bonne continuation :-)
eric