Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

problème VBA fonction vlookup et variable

ibiza308

XLDnaute Nouveau
bonjour,

j'ai un petit problème avec mon code vba, il bloque sur une fonction recherche V avec des variables ????
Besoin d'aide ....

Ci dessous une partie de mon code :


Dim col As Integer

derlign = Range("A65000").End(xlUp).Row 'donne la dernière ligne non vide en colonne B

For i = 2 To derlign

'recherche une formule en couleur
If Cells(i, 1).Interior.ColorIndex = 28 Then

'recherche de la ligne concernée ...
ligne = Cells(i, 5).Value
If ligne = "xx" Then
nbre = 2
Else
nbre = 3
End If

'recherche la colonne de la formule dans tableau des formules
col = Sheets("Formules").Range("A1:K10").Find(Cells(i, 1), LookIn:=xlValues, lookat:=xlWhole).Column

' recherche de l'alternative dans tableau
alt = WorksheetFunction.VLookup(Cells(i, 1), Sheets("Alternative").Range(Cells(2, col), Cells(10, (col + 2))), nbre, False)

End If

Next


Merci d'avance
 

tototiti2008

XLDnaute Barbatruc
Re : problème VBA fonction vlookup et variable

Bonjour Ibiza,

Quand tu mets

Sheets("Alternative").Range(Cells(2, col), Cells(10, (col + 2)))
Les Cells dans le Range ne sont pas dans la feuille Alternative mais dans la feuille active

essaie

Code:
' recherche de l'alternative dans tableau
With Sheets("Alternative")
alt = WorksheetFunction.VLookup(Cells(i, 1), .Range(.Cells(2, col), .Cells(10, (col + 2))), nbre, False) 
end with
 

Pierrot93

XLDnaute Barbatruc
Re : problème VBA fonction vlookup et variable

Bonjour, re toto,

A priori manque un point devant le premier "cells"....
Code:
With Sheets("Alternative")
alt = WorksheetFunction.VLookup(.Cells(i, 1), .Range(.Cells(2, col), .Cells(10, (col + 2))), nbre, False) 
end with

bon après midi
@+

Edition : pas sûr.....
 

ibiza308

XLDnaute Nouveau
Re : problème VBA fonction vlookup et variable

C'est bon avec votre aide je viens de trouver... voici le code

With Sheets("Alternative")
alt = WorksheetFunction.VLookup(Cells(i, 1), Sheets("Alternative").Range(.Cells(2, col), .Cells(10, (col + 2))), nbre, False)

merci à tous bonne soirée...
 

Discussions similaires

Réponses
5
Affichages
247
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…