Definir feuille avec variable

Bonjour,

Le code ci-dessous fonctionne bien.

With Sheets("Résultat").Range("W2:W" & Sheets("Résultat").Range("G" & Rows.Count).End(xlUp).Row)
.Formula = "=VLOOKUP(Résultat!P2,ESSAI2015!$A$2:$M$" & derniereligneSIN & ",11,0)"
.Value = .Value
End With

Dans mon classeur, je dispose des feuilles "ESSAI2015", "ESSAI2014", "ESSAI2013".....

Je souhaiterais écrire le code de la façon suivante:

Dim ANNEE As Integer
ANNEE = Sheets("PilotageNC").Range("C2").Value

With Sheets("Résultat").Range("W2:W" & Sheets("Résultat").Range("G" & Rows.Count).End(xlUp).Row)
.Formula = "=VLOOKUP(Résultat!P2,ESSAI&ANNEE!$A$2:$M$" & derniereligneSIN & ",11,0)"
.Value = .Value
End With

ou du genre

Dim ANNEE As Integer
ANNEE = Sheets("PilotageNC").Range("C2").Value

Dim NomFeuilleSIN As Worksheets
Set NomFeuilleSIN = Sheets("ESSAI" & ANNEE)

With Sheets("Résultat").Range("W2:W" & Sheets("Résultat").Range("G" & Rows.Count).End(xlUp).Row)
.Formula = "=VLOOKUP(Résultat!P2,NomFeuilleSIN!$A$2:$M$" & derniereligneSIN & ",11,0)"
.Value = .Value
End With

J'ai toujours des messages d'incompatibilité de type.

Sauriez vous écrire la formule correctement.

Cordialement

Bonjour,

A toutes fin utiles, ci-joint fichier exemple.

Il y a la macro qui fonctionne et 2 qui ne fonctionnent pas.

Si vous pouviez les corriger, je comprendrai mon erreur

Merci

16essai.xlsm (29.47 Ko)

SALUT

Essai ça et dit moi ou etait le probleme

Sub BON()
Dim ANNEE
Dim derniereligneSIN As Integer
derniereligneSIN = Sheets("ESSAI2014").Range("I65536").End(xlUp).Offset(1, 0).Row
ANNEE = Sheets("PilotageNC").Range("C2").Value

'Ajout de la date de cloture  dans la colonne W de la feuille résultat
With Sheets("Résultat").Range("W2:W" & Sheets("Résultat").Range("I" & Rows.Count).End(xlUp).Row)
.Formula = "=VLOOKUP(Résultat!P2,ESSAI" & ANNEE & "!$A$2:$M$" & derniereligneSIN & ",11,0)"
.Value = .Value
End With
End Sub

SALUT

essai ça et dit moi ou etait le probleme

Sub BON()
Dim ANNEE
Dim derniereligneSIN As Integer
derniereligneSIN = Sheets("ESSAI2014").Range("I65536").End(xlUp).Offset(1, 0).Row
ANNEE = Sheets("PilotageNC").Range("C2").Value

'Ajout de la date de cloture  dans la colonne W de la feuille résultat
With Sheets("Résultat").Range("W2:W" & Sheets("Résultat").Range("I" & Rows.Count).End(xlUp).Row)
.Formula = "=VLOOKUP(Résultat!P2,ESSAI" & ANNEE & "!$A$2:$M$" & derniereligneSIN & ",11,0)"
.Value = .Value
End With
End Sub

Bonjour,

Cela semble bien fonctionner.

J'ai vraiment du mal à bien placer les "" , """", & &.

Merci

Rechercher des sujets similaires à "definir feuille variable"