Macros Excel

ITFR Messages postés 4 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 25 avril 2006 - 20 avril 2006 à 14:00
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 - 25 avril 2006 à 09:42
Bonjours,

Voilà mon problème j'ai deux classeurs excel > (1)mat_te.xls et (2)mat_sc.xls

Classeur (1) colonne A> N° Article
B>Vide
C>Prix

Classeur (2) colonne A > Pst
B> XYZ
C> N° Article

Comment créer une macros qui me permet de connaitre les no article identique dans les deux classeurs et affiche le résultat dans le classeur 1 colonne B ???

Merci d'avance

8 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
20 avril 2006 à 14:36
Salut,

j'ai bien une technique, mais qui est relativement lourde, (en mémoire et en temps de recherche suivant le nombre de données) :

Sub Cherche_Doublons()

Dim PremLiVide As Long, PremLiVide2 As Long, i as Long
PremLiVide = Columns(1).Find ("", [A1], , , xlByRows, xlNext).Row

Dim NbArticleClasseur1(2 to PremLiVide) As String, n As Long, z as long, j as long

For i = 2 To PremLiVide
NbArticleClasseur1(i) = Cells(i, 1).Value
Next i

WorkBook(mat_sc.xls).Select
PremLiVide2 = Columns(3).Find ("", [C1], , , xlByRows, xlNext).Row
______________________________________________________________________
On Error Resume Next
n = 2
z = 1
BoucleX:

For j = 2 To PremLiVide2
If Cells(j, 3).Value = NbArticleClasseur1(n) then
WorkBook(mat_te.xls).Sheets(1).Range("B" & z).Value = NbArticleClasseur1(n)
z = z + 1
Exit For
End If
Next j
If n < PremLiVide2 then
n = n + 1
GoTo BoucleX
End If

On Error Goto 0
WorkBook(mat_te.xls).Select
End Sub

Je n'ai pas pu le tester car je suis au taf mais s'il y des erreurs qui apparaissent, ça te fait déjà une base.

@++

Mortalino
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
22 avril 2006 à 22:59
Salut 752628 ITFR, salut =647037 mortalino,

dans un autre registre de solution, un formule de cellule Excel (que tu répèterais pour toute la hauteur de la colonne la + grande) pourrait te remplir une 3ème colonne avec les identifiants que tu trouves dans les 2 colonnes observées :

=SI(ESTERREUR(EQUIV(C1;$A$1:$A$10;0));"";C1)

où A1:A10 est la 1ère colonne (1er classeur dans ta question), C1:C10 est la 2ème colonne (2ème classeur). La valeur de résultat de cette formule, pour la cellule courante, est l'identifiant de la colonne 1 s'il est dans les 2 colonnes, et rien sinon.

A toi de l'adapter pour atteindre ton but.

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
ITFR Messages postés 4 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 25 avril 2006
24 avril 2006 à 13:11
Les deux solutions ne fonctionnent pas !!!!
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
24 avril 2006 à 13:31
Salut 752628 ITFR, salut =647037 mortalino,

752628 ITFR, merci d'en dire un peu plus que "Les deux solutions ne fonctionnent pas !!!!", ça pourrais nous aider (et donc t'aider).

Ta demande avait peut-être l'air précise pour toi, mais ma réponse est, à mes yeux, un peu plus précise qu'elle.

En effet, dans ma réponse, je te signale que cette formule travaille avec 2 colonnes sources de la même feuille, et 1 colonne résultat de la même feuille aussi (et qu'il faut donc que tu l'adaptes à ton cas, classeurs multiples).

Je t'y signale aussi que cette formule met en évidence, dans la 3ème colonne, les valeurs de la 2ème colonne que l'on trouve exister dans la 1ère. Et pour ce but, elle fonctionne!

Ta demande laisse des questions sans réponses (et ta réponse aussi) :
"Comment créer une macros qui me permet de connaitre les no article identique dans les deux classeurs et affiche le résultat dans le classeur 1 colonne B ???".

Que sont, pour toi, des no articles identiques? Des cellules de 2 colonnes différentes (dans 2 classeurs différents), sur le même indice de ligne, qui ont une valeur identique? ou qui ont une valeur identique sans tenir compte de l'indice de ligne? autre spécifications?

Allez, fais un effort, tu as écris 11 lignes (et c'est toi qui a le problème), =647037 mortalino a écrit 31 lignes, et moi 26 (et on n'a vraissemblablement pas la solution). As-tu un problème de clavier? de doigts? :)

à+ (on attend)


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0

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

Posez votre question
ITFR Messages postés 4 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 25 avril 2006
24 avril 2006 à 14:29
Je vais m'expliquer un peu mieux !!!

Classeur 1:

A B C

<COLGROUP>
<COL style= \"WIDTH: 80pt; mso-width-source: userset; mso-width-alt: 3876\" width=106>
<COL style=\"WIDTH: 60pt\" span=2 width=80>

----

1 Artikel-Nr.,
Resultat,
Nombre,
----

2 101000610,
,
1,
----

3 855447126,
,
5,
----

4 712514414,
,
3,
----

5 101000620,
,
1,
----

6 855448212,
,
8

Classeur 2:

A B C

<COLGROUP>
<COL style =\"WIDTH: 80pt; mso-width-source: userset; mso-width-alt: 3876\" width=106>
<COL style=\"WIDTH: 60pt\" span=2 width=80>

----

1 PPS-Nr.,
XYZ,
Artikel-Nr.,
----

2 6979537,
2,
2800010210,
----

3 6979537,
3,
2800000600,
----

4 6979537,
7,
101000610,
----

5 6979537,
15,
3501100017,
----

6 6979537,
18,
3501400002,
----

7 6979537,
38,
101000610

Maintenant j'aimerai afficher les résultats identique du classeur 1 colonne A et du classeur 2 colonne C dans la colonne B du classeur 1.

Comme l'article 101000610 doi t s'afficher vu qu'il se trouve au deux endroits

Merci d'avance

<COLGROUP>
<COL style=\"WIDTH: 175pt; mso-width-source: userset; mso-width-alt: 8521\" width=233>
<COL style=\"WIDTH: 60pt\" span=2 width=80>

----

,
,
,
----

,
,
,
----

,
,
,
----

,
,
,
----

,
,
,
----

,
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
24 avril 2006 à 22:28
Voici ce que cela donne avec tes données, il me semble donc que cela fonctionne (si la photo s'affiche):

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
ITFR Messages postés 4 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 25 avril 2006
25 avril 2006 à 09:36
Un grand merci rvblog !!!!

Les fonctions marche ;-)

Bonne journée à la prochaine
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
25 avril 2006 à 09:42
De rien ITFR,

merci d'Accepter la Réponse (pour mon amour propre et pour le moteur de recherche).

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
0
Rejoignez-nous