VBA - Nom de feuille pour VLOOKUP variable

Delux

XLDnaute Occasionnel
Bonjour a tous,

J'essaye depuis plusieurs heures a donner un nom de feuille variable a ma formule que j'insere par macro.

Je m'explique un peu mieux, j'ai des feuilles cachees et quand j'execute ma macro, je vais chercher la feuille cachee qui correspond au range Sheet17.Range("A1").Value.

Une fois la feuille reinseree, j'execute une macro qui va inserer une formule sous quelques conditions dans une autre feuille.
La formule est un vlookup, mais le vlookup change en fonction du nom de la feuille qui a ete reinseree.

Code:
VLOOKUP(B" & Cel.Row & ", Sheets(" & Feuille & ").Range("B4:AZ5000"), 2, 0)
VLOOKUP(B" & Cel.Row & ", " & Sheets(Feuille).Range("B4:AZ5000") & ", 2, 0)
VLOOKUP(B" & Cel.Row & ", '" & Feuille & "'!B4:AZ5000, 2, 0)

Code:
Sub DST_Attributes_Check2()
'Check all attributes

Dim mySource As Range
Dim myCible As Range
Dim Cel As Range
Dim dl As Integer
Dim dc As Byte
Dim Feuille As String

Application.ScreenUpdating = False

Sheet17.Select

dl = Sheet17.Range("A65489").End(xlUp).Row 'derniere ligne remplie en se basant sur la colonne A
dc = Sheet17.Range("iv4").End(xlToLeft).Column 'derniere colonne remplie en se basant sur la ligne 4
Feuille = Sheet17.Range("A1").Text

Set mySource = Sheet17.Range(Cells(4, 3), Cells(dl, dc)) 'definit la source en utilisant les dernieres cellules remplies
Set myCible = Sheet18.Range("C4:AZ" & [C65489].End(xlUp).Row) 'definit la cible

myCible.ClearContents

For Each Cel In mySource
    If Cel.Interior.ColorIndex = 6 Then 'si l'interieur de la cellule est jaune
           
        Sheet18.Cells(Cel.Row, Cel.Column).Formula = "=IF(AND(VLOOKUP(A" & Cel.Row & _
            ", 'IMPORT SHEET'!$A$4:$AZ$" & dl & ", " & Cel.Column & ", 0)<>"""", VLOOKUP(B" & Cel.Row & ", Sheets(" & Feuille & ").Range("B4:AZ5000"), 2, 0)=""X"")"
    
    End If
Next Cel

Application.Run "Check_percentage"


End Sub

J'ai essaye de nombreuse methodes (cites ci-dessus) mais je n'arrive pas a modifier le nom de la feuille dans la formule.
J'ai joint un fichier exemple ou la feuille Cable_schedule represente la feuille que j'ai reinsere par ma precedente macro (je n'ai pas mis les autres feuilles cachees pour alleger le fichier exemple).
C'est le nom de cette feuille que je dois insere dans ma formule Vlookup a nom de feuille variable.

Auriez vous une solution?

En vous remerciant par avance

Cordialement,

Delux
 

Pièces jointes

  • test - boucle forum.xlsm
    29.6 KB · Affichages: 74
  • test - boucle forum.xlsm
    29.6 KB · Affichages: 77
  • test - boucle forum.xlsm
    29.6 KB · Affichages: 75

Delux

XLDnaute Occasionnel
Re : VBA - Nom de feuille pour VLOOKUP variable

Oups,

J'ai trouve le probleme qui n'en etait pas un ^^.

Il fallait juste finir la formule

Code:
Sheet18.Cells(Cel.Row, Cel.Column).Formula = "=IF(AND(VLOOKUP(A" & Cel.Row & _
            ", 'IMPORT SHEET'!$A$4:$AZ$" & dl & ", " & Cel.Column & ", 0)<>"""", VLOOKUP(B" & Cel.Row & ", Sheets(" & Feuille & ").Range("B4:AZ5000"), 2, 0)=""X""), 1, 0)"

Merci quand meme.
 

Discussions similaires

Réponses
7
Affichages
351

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote