bonjour,
Je débute dans VBA Excel et j'ai du mal à me dépatouiller.
J'ai un classeur qui a 2 feuilles. La feuille 1 correspond aux données, et la feuille 2 me permet de travailler sur ses données.
J'ai créé une macro dans module1. Cette macro doit me donner le nombre de strings identiques au paramètre d'une cellule.
Un exemple :
colonne X dans feuille 1
SVK
FRA
GB
SVK
FRA
GB
FRA
FRA
USA
Dans une cellule de ma feuille 2, je défini une fonction par fx = NomMacro( " FRA"). J'ai donc dans ma cellule le nombre de "FRA" qui se trouve dans la colonne X de la feuille1 soit 4.
Voici le code que j'ai développé :
Ce code ne marche pas. Dans ma cellule, j'obtiens #NOM?.
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 Function NomMacro (ByVal S as String) as Integer dim i as integer dim num as integer i = 2 num = 0 'selection de la feuille 1 Worksheet("F1").Activate 'Tant que la cellule de la colonne X n'est pas vide While Trim(ActiveSheet.Cells(i, X).Value) <> "" 'Si la valeur de la cellule est égale que S If Cells(i, X).Value Like S Then num = num + 1 End If i = i + 1 Wend Selection de la feuille 2 Worksheet("F2").Activate 'Mettre le numéro dans la cellule où il y a la fonction Set NomMacro = num End Function
Quelqu'un pourrait m'aider à faire fonctionner cette macro?
Merci
Partager