Bonjour à tous,
Besoin de serieux coup de pouces d'experts.
Voilà, j'ai fais une macro sous excel 2002 qui doit normalement faire les opérations suivantes :
Contrôler les cellules d'une colA qui se trouve sur "feuil2" par rapport a "feuil1" et sa colB.
Lors du contrôle si une valeur est incluse (si "feuil2" est incluse dans "feuil1"), alors copier la cellule de la colA et colB de "feuil2" vers la colE et colF de "feuil1.
Voici ma macro:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Sub main() compteur_feuil2 = 1 'initialisation de l'onglet "feuil2" compteur_feuil1 = 1 'déclaration feuil1 commencant par cel1 While (Worksheets("ref_feuil1").Range("B" & compteur_ref_feuil1) <> "") 'ref_feuil1 colB ne doit pas être vide compteur_libelle_type = 1 'déclaration libelle_type commencant par cel1 Do While (Worksheets("libelle_type").Range("A" & compteur_libelle_type) <> "") 'libelle_type colA ne doit pas être vide If InStr(Ucase(("feuil2").Range("A" & compteur_feuil2)),(Ucase("feuil1").Range("B" & compteur_feuil1)) <> 0) Then 'si (Ucase ou Lcase= Maj ou min) colA de feuil2 est inclus dans colB de feuil1 alors Worksheets("feuil1").Range("E" & compteur_feuil1).Value = Worksheets("feuil2").Range("A" & compteur_feuil2).Value 'coller dans feuil1 colE la colA de feuil2 Worksheets("feuil1").Range("F" & compteur_feuil1).Value = Worksheets("feuil2").Range("B" & compteur_feuil2).Value 'coller dans feuil1 colF la colB de feuil2 compteur_feuil1 = compteur_feuil1 + 1 End If compteur_feuil1 = compteur_feuil1 + 1 'de la cel1 sur feuil1 passer à la cel2 Loop 'si colA de feuil2 est supérieur à colI de feuil1 alors sortir du mécanisme et passer au suivant compteur_feuil2 = compteur_feuil2 + 1 'de la cel1 sur feuil2 passer à la cel2 Wend End Sub
Mes difficultés :
- Plusieurs messages d'erreurs.
- Je n'avance pas malgré mes tentatives de corrections infructueuses.
Je désespéres, merci d'avance pour l'aide et bonne fêtes de fin d'année.
![]()
Partager