manipuler des chaines de caracteres en excel vb
Bonjour à tous,
Besoin de serieux coup de pouces d'experts.:cry:
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:
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.
:roll:
Un grand merci pour la rapidité
Un grand merci pour la rapidité et en plus ca fonctionne très bien.
:lol: