Visual basic Excel

Fermé
Rudy - 8 juil. 2004 à 11:53
 Rudy - 8 juil. 2004 à 18:00
Bonjour,

Voila mon problème je demande à l’utilisateur de définir des cellules. Ces cellules se remplissent automatiquement en effectuant une comparaison avec d’autre valeur (ici sur la feuille Coef).
J’ai problème avec la fonction VLOOKUP et ma variable u je ne sais pas comment écrire cette dernière dans la fonction VLOOKUP pour qu’elle le reconnaisse comme la valeur rentrer par l’utilisateur.
Je voudrais savoir si il est possible de rentrer les valeurs à comparer plutôt que de sélectionner ces valeurs sur la feuille Coef.

Merci.

Sub Test_CGW()
'
' Test_CGW Macro
' Macro enregistrée le 07/07/2004 par ALTAX
'

'
Sheets("CGW").Select

x = InputBox("Précisez la première cellule du coéficient de pondération (ex:K2)")
If x = VbANNULER Then
Sheets("CGW").Select
End
Else

If xx = vbOK Then
x = InputBox("Précisez la première cellule du coéficient de pondération (ex:K2)")
End If

Range(x).Select

End If

u = InputBox("Précisez la première cellule du type de pièce (ex:K2)")
If u = VbANNULER Then
Sheets("CGW").Select
End
Else

If uu = vbOK Then
u = InputBox("Précisez la première cellule du type de pièce (ex:K2)")
End If
ActiveCell.FormulaR1C1 = "=VLOOKUP(u,Coef!C[-10]:C[-8],2,FALSE)"
Range(x).Select
Selection.Copy
End If

z = InputBox("Précisez la dernière cellule du coéficient de pondération (ex:K2)")
If x = VbANNULER Then
Sheets("CGW").Select
End
Else

If zz = vbOK Then
z = InputBox("Précisez la dernière cellule du coéficient de pondération (ex:K2)")
End If

Range(x, z).Select
ActiveSheet.Paste
End If

y = InputBox("Précisez la première cellule de la surface pondérée (ex:L2)")
If y = VbANNULER Then
Sheets("CGW").Select
End
Else

If yy = vbOK Then
y = InputBox("Préciser la première cellule de la surface pondérée (ex:L2)")
End If

Range(y).Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=RC[-3]*RC[-1]"
Range(y).Select
Selection.Copy
End If

w = InputBox("Précisez la dernière cellule de la surface pondérée (ex:L2)")
If w = VbANNULER Then
Sheets("CGW").Select
End
Else

If ww = vbOK Then
w = InputBox("Précisez la dernière cellule de la surface pondérée (ex:L2)")
End If

Range(y, w).Select
ActiveSheet.Paste
End If

End Sub
A voir également:

2 réponses

Salut,

Essaie :

ActiveCell.FormulaR1C1 = "=VLOOKUP(Range(u),Coef!C[-10]:C[-8],2,FALSE)"

Philippe
0
Cela ne fonctionne pas
Merci!!!!!!!!!
0