RechercheV avec N° de colonne variable

Bonsoir le forum,

Je n'arrive pas à trouver la solution pour le sujet suivant:

Dans ma feuille "commande" j'ai un nombre important de lignes qui peut varier en plus ou moins.

En colonne C et D une formule RECHERCHEV avec le N° de colonne qui augmente de 3 à chaque ligne.

Range("C5").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,3,FALSE)"
    Range("D5").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,4,FALSE)"
    Range("C6").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,6,FALSE)"
    Range("D6").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,7,FALSE)"
    Range("C7").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,9,FALSE)"
    Range("D7").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,10,FALSE)"
    Range("C8").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,12,FALSE)"
    Range("D8").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,13,FALSE)"
    Range("C9").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,15,FALSE)"
    Range("D9").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,16,FALSE)"
    Range("C10").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,18,FALSE)"
    Range("D10").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,19,FALSE)"
    Range("C11").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,21,FALSE)"
    Range("D11").FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,22,FALSE)"

Je voudrai simplifier le code de cette manière, mais ça ne marche pas.

Sub test()
    With Sheets("commande")
        derligne = .Range("A" & Rows.Count).End(xlUp).Row
        Dim ligne, x As Integer
        x = 3
            For ligne = 5 To derligne
             .Range("C" & ligne).FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,x,FALSE)"
             .Range("D" & ligne).FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149,x+1,FALSE)"
                 x = x + 3
            Next ligne
    End With
End Sub

Quand je teste la macro, le x et le x+1 reste à x et x+1 et je retrouve en colonne C et D :

#NOM? #NOM?

Avez-vous une solution?

Merci

Henri

Bonjour,

             .Range("C" & ligne).FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149," & x & ",FALSE)"
             .Range("D" & ligne).FormulaR1C1 = "=VLOOKUP(R2C3,TABLEAU!R10C1:R41C149," & (x+1) & ",FALSE)"

Bonjour Steelson et le forum,

Merci beaucoup pour la solution. Ca fonctionne parfaitement.

Je vous souhaite une agréable journée.

Cdt

Henri

Rechercher des sujets similaires à "recherchev colonne variable"