Ecrire une formule en VBA sans FormulaRC

Bonjour à tous,

Alors voilà mon problème, je dois utiliser la fonction Recherche V pour remplir un tableau et je souhaiterais le faire via une Macro.

Voici ce que ca donne pour le moment (cela ne marchant bien évidemment pas)

ActiveCell.Formula = "=VLOOKUP(Cells(2,bibi),START!Range(Cells(1,1),Cells(bubu,bobo),2,FALSE)"

Avec:

bibi: un numéro de colonne que j'ai défini auparavant

START: une autre feuille Excel dans laquelle je vais chercher un grand tableau

bubu et bobo: deux variables me permettant de trouver la dernière ligne et dernière colonne de mon grand tableau afin de le délimiter

Voilà. Cela ne marche pas et je ne comprends pas vraiment pourquoi.

Je vous remercie par avance et vous souhaite une bonne journée

Bonjour,

essaie ceci, bubu doit contenir la lettre de la colonne

ActiveCell.Formula = "=VLOOKUP(Cells(2," & bibi & "),START!A1:" & bubu & bobo & "),2,FALSE)"

Bonjour,

Merci pour votre réponse mais cela ne marche malheureusement pas

Sheets("lalala").Select
Dim dbl_lastcolumn2 As Double
Dim j As Double
Dim baba As Double
dbl_lastcolumn2 = ActiveSheet.Cells(1, 100).End(xlToLeft).Column
For j = 1 To dbl_lastcolumn2
If Cells(1, j).Value = "Baba" Then
baba = j
j = dbl_lastcolumn2
End If
Next j
Dim dbl_lastcolumn22 As Double
Dim j2 As Double
Dim bibi As Double
dbl_lastcolumn22 = ActiveSheet.Cells(1, 100).End(xlToLeft).Column
For j2 = 1 To dbl_lastcolumn22
If Cells(1, j2).Value = "Bibi" Then
bibi = j2
j2 = dbl_lastcolumn22
End If
Next j2
bubu = Cells(1, Columns.Count).End(xlToLeft).Column
bobo = Cells(1, Columns.Count).End(xlUp).Rows
Cells(2, baba).Select

ActiveCell.Formula = "=VLOOKUP(Cells(2," & bibi & "),START!A1:" & bubu & bobo & "),2,FALSE)"

Voilà tout le code afin de comprendre comment j'ai défini mes variables.

Merci par avance

bonjour,

je ne devais pas voir les yeux en face des trous.

essaie ceci

ActiveCell.Formula = "=VLOOKUP(" & Cells(bibi, 2).Address & " ,START!A1:" & Cells(bobo, bubu).Address & "),2,FALSE)"

Bonjour,

Merci pour votre réponse, cela ne marche toujours pas :'(

Voilà le code, car j'avais en effet oublié de déclarer bubu et bobo.

Sheets("lalala").Select
Dim dbl_lastcolumn2 As Double
Dim j As Double
Dim baba As Double
dbl_lastcolumn2 = ActiveSheet.Cells(1, 100).End(xlToLeft).Column
For j = 1 To dbl_lastcolumn2
If Cells(1, j).Value = "Baba" Then
baba = j
j = dbl_lastcolumn2
End If
Next j
Dim dbl_lastcolumn22 As Double
Dim j2 As Double
Dim bibi As Double
dbl_lastcolumn22 = ActiveSheet.Cells(1, 100).End(xlToLeft).Column
For j2 = 1 To dbl_lastcolumn22
If Cells(1, j2).Value = "Bibi" Then
bibi = j2
j2 = dbl_lastcolumn22
End If
Next j2
Sheets("lololo").Select
Dim bubu As Double
Dim bobo As Double
bobo = Cells(1, Columns.Count).End(xlToLeft).Column
bubu = Range("A1048576").End(xlUp).Row
Sheets("lalala").Select
Cells(2, baba).Select

'ActiveCell.Formula = "=VLOOKUP(" & Cells(2,bibi).Address & " ,START!A1:" & Cells(bubu,bobo).Address & "),2,FALSE)"

J'ai vérifier mes variables bibi, bubu et bobo pour voir si elles étaient bien définies et elles le sont oui. Le problème vient uniquement de la formule, je crois.

Je commence un peu à désespérer, surtout que je sens que c'est une erreur un peu stupide qui fiche tout en l'air et c'est très frustrant .

Merci par avance et bonne journée !

J'AI REUSSI !!!!!

ActiveCell.Formula = "=VLOOKUP(bibibi,START!bobobubu,2,FALSE)"

J'ai nommé mes cellules ou mes range utilisés et voilà ! (START étant une feuille Excel contenant bobobubu

Cells(1,bibi).select
Activecell.name = "bibibi"
Range(cells(1,1),cells(bubu,bobo).select
Selection.name = "bobobubu"

Merci pour vos réponses !

Bonne journée

rebonjour et désolé,

il restait une parenthèse de trop

Formul = "=VLOOKUP(" & Cells(2, bibi).Address & ",start!$A$1:" & Cells(bubu, bobo).Address & ",2,FALSE)"

Bonjour,

Merci h2so4.

Une petite question encore. J'ai fait un mix de ma "trouvaille" et de votre réponse pour arriver à cela:

ActiveCell.Formula = "=VLOOKUP(" & Cells(2, bibi).Address & " ,START!bobobubu,2,FALSE)"

Et le petit problème est qu'il me fixe le premier sur la cellule trouvée (ici: K2, il me met $K$2, Cells(2,bibi) renvoyant K2),

Auriez-vous une solution afin qu'il me marque K2 et non §$K$2 ?

J'en aurais besoin pour un futur Autofill.

Merci par avance et bonne journée

Bonjour,

à tester

ActiveCell.Formula = "=VLOOKUP(" & replace(Cells(2, bibi).Address,"$","") & " ,START!bobobubu,2,FALSE)"

Bonjour,

Ca marche, merci beaucoup !

Bonne journée !

Bonjour,

on peut aussi utiliser Cells(2, bibi).Address False, False

eric

Rechercher des sujets similaires à "ecrire formule vba formularc"