Bonjour

J'essaie de comparer deux onglet: PlanMOEG et PSnext.
Pour cela j'ai créé un troisième onglet PlanDir qui extrait seulement les valeurs qui doivent être identiques pour les comparer.
Coté onglet PSNnext je recherche des chaines de caractère, il n'est pas trop grand, c'est ok.
Coté onglet PlanMOEG, j'ai des noms associés aux cellules à comparer.
Je voudrait, plutot que de balayer tout le tableau comme pour PSNext, simplement faire appel à ces noms.

Dans mon troisième onglet je liste donc en première colonne les noms à regarder.
C'est une chaine de caractère identique au nom que je vais utiliser.
Un même nom sera comparé plusieurs fois avant de passer à une autre boucle, j'ai vraiment besoin de maitriser ce nom.
La seule information qui m'intéresse avec ce nom c'est son numéro de ligne.

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
30
Sub essais()
'
' essais Macro sur poste 85
Dim u As Integer
Dim PlanDir As Worksheet, PSnext As Worksheet, PlanMOEG As Worksheet
Dim NomCellule As Variant
 
'Numéro des feuilles
Set PlanDir = Feuil4
Set PSnext = Feuil5
Set PlanMOEG = Feuil2
 
For u = 186 To 194 'PSnext.Cells(LignedebutMac, RefPS).End(xlDown).Row 'u la ligne dans PlanDir
 
            NomCellule = PlanDir.Cells(u, 1).Value 'dans cette cellule j'ai recopié le nom de la cellule que je cherche dans l'onglet PlanMOEG, varie
            MsgBox NomCellule 'affiche bien le contenu texte de la cellule identique au nom de la référence
 
            'Ce qui fonctionne avec un nom de variable constant P85TRANS:
            PlanDir.Cells(u, 3).Value = Range("P85TRANS").Row 'P85TRANS étant le nom de la référence dans l'onglet PlanMOEG
 
            'Ce qui ne fonctionne pas lorsque je veux que le NomCellule varie avec les lignes:
            'PlanDir.Cells(u, 3).Value = Range("NomCellule").Row
 
'blablabla le reste de ma fonction qui utilise ce super numéro de ligne obtenu            
 
Next u
 
MsgBox "fin de macro"
 
End Sub
J'ai essayé avec "Dim NomCellule As Name" mais je pense que cela ne fonctionne pas non plus du fait que PlanDir.Cells(u, 1).Value soit un String.

Comment contrer ces erreurs de format de variable?
Comment donner un nouveau nom à chercher à chaque ligne?
(bien-sur, définir tous les noms en début de macro est exclus, le nom cherché doit être visible dans l'onglet PlanDir)

Des idées?