XL 2010 VBA:Incrémenter formule avec une plage de cellule variable

cysalea

XLDnaute Nouveau
Bonjour à tous,

Je souhaiterai appliquer une formule en colonne A (ici une recherche V) tant qu'il y a des valeurs dans ma colonne B (nombre de cellule variable peut aller de B2 à B.... ou simplement B2)

J'ai lu plusieurs choses sur ce forum mais rien de fonctionne.

J'ai essayé :
'DL = Range("B" & Rows.Count).End(xlUp).Row 'Derniere ligne de la colonne A
'F = "=VLOOKUP(RC[12],[Communes_44_IG.xlsx]communes!R1:R1048576,5,FALSE)" 'Formule ) mettre la formule après le F = (venant de la macro automatique par exemple)
Range("a2").Formula = "=VLOOKUP(RC[12],[Communes_44_IG.xlsx]communes!R1:R1048576,5,FALSE)" 'Emplacement de la 1ere cellule recevant la formule
Range("A2").AutoFill Destination:=Range("A2:" & Range("B" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault 'incrémentation jusqu'à la derniere ligne

J'ai essayé :
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[12],[Communes_44_IG.xlsx]communes!R1:R1048576,5,FALSE)"
Range("A2:A" & Range("B" & Rows.Count).End(xlUp).Row).FillDown
ce 2è essai me ramène le titre de la colonne A quand je n'ai qu'une donnée en B2

Merci pour votre aide.

PS : mon fichier pour ma recherche V s'appelle Communes_44_IG.xlsx
 

Pièces jointes

  • Essai_forum.xlsx
    8.7 KB · Affichages: 41

sousou

XLDnaute Barbatruc
bonjour
Ici un petit code qui copie une formule.
Public Const formule = "=rc[1]"
Public Const colonne = 2
Sub applique()
With ActiveSheet
fin = .Cells(.UsedRange.Columns(2).Rows.Count + 1, colonne).End(xlUp).Row
Set zone = .Range(.Cells(2, 1), .Cells(fin, 1))
zone.Select
zone.FormulaR1C1 = formule
End With
End Sub
 

Discussions similaires

Réponses
7
Affichages
395

Statistiques des forums

Discussions
312 930
Messages
2 093 717
Membres
105 794
dernier inscrit
mallet