Suppose X = la première ligne où tu veux copier la formule
suppose Z = est la denière ligne ou ....
x = 5
z = 25
Range("A" & x).FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
Range("A" & x & ":A" & z).FillDown
Bonsoir,
J'utilise le code suivant :
Range("A3").Select
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
cela me permet de trouver la première cellule vide de ma ligne 3 et d'y
inscrire ma formule.
Ma question : comment recopier cette formule vers le bas, la dernière
cellule à atteindre étant variable ?
Sous excel 2002.
Merci pour votre aide.
BH.
Suppose X = la première ligne où tu veux copier la formule
suppose Z = est la denière ligne ou ....
x = 5
z = 25
Range("A" & x).FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
Range("A" & x & ":A" & z).FillDown
Bonsoir,
J'utilise le code suivant :
Range("A3").Select
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
cela me permet de trouver la première cellule vide de ma ligne 3 et d'y
inscrire ma formule.
Ma question : comment recopier cette formule vers le bas, la dernière
cellule à atteindre étant variable ?
Sous excel 2002.
Merci pour votre aide.
BH.
Suppose X = la première ligne où tu veux copier la formule
suppose Z = est la denière ligne ou ....
x = 5
z = 25
Range("A" & x).FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
Range("A" & x & ":A" & z).FillDown
Bonsoir,
J'utilise le code suivant :
Range("A3").Select
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
cela me permet de trouver la première cellule vide de ma ligne 3 et d'y
inscrire ma formule.
Ma question : comment recopier cette formule vers le bas, la dernière
cellule à atteindre étant variable ?
Sous excel 2002.
Merci pour votre aide.
BH.
Suppose X = la première ligne où tu veux copier la formule
suppose Z = est la denière ligne ou ....
x = 5
z = 25
Range("A" & x).FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
Range("A" & x & ":A" & z).FillDown
Bonsoir,
J'utilise le code suivant :
Range("A3").Select
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
cela me permet de trouver la première cellule vide de ma ligne 3 et d'y
inscrire ma formule.
Ma question : comment recopier cette formule vers le bas, la dernière
cellule à atteindre étant variable ?
Sous excel 2002.
Merci pour votre aide.
BH.
Suppose X = la première ligne où tu veux copier la formule
suppose Z = est la denière ligne ou ....
x = 5
z = 25
Range("A" & x).FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
Range("A" & x & ":A" & z).FillDown
Bonsoir,
J'utilise le code suivant :
Range("A3").Select
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
cela me permet de trouver la première cellule vide de ma ligne 3 et d'y
inscrire ma formule.
Ma question : comment recopier cette formule vers le bas, la dernière
cellule à atteindre étant variable ?
Sous excel 2002.
Merci pour votre aide.
BH.
Suppose X = la première ligne où tu veux copier la formule
suppose Z = est la denière ligne ou ....
x = 5
z = 25
Range("A" & x).FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
Range("A" & x & ":A" & z).FillDown
Bonsoir,
J'utilise le code suivant :
Range("A3").Select
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
cela me permet de trouver la première cellule vide de ma ligne 3 et d'y
inscrire ma formule.
Ma question : comment recopier cette formule vers le bas, la dernière
cellule à atteindre étant variable ?
Sous excel 2002.
Merci pour votre aide.
BH.
Merci pour le code.
Voici ce que j'ai fini par réussir à faire et qui semble fonctionner :
Range("D3").Select
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
Range(ActiveCell, ActiveCell.Offset(250, 0)).Select
Selection.FillDown
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
Mais 250 n'est pas toujours le nombre de lignes.
BH
Merci pour le code.
Voici ce que j'ai fini par réussir à faire et qui semble fonctionner :
Range("D3").Select
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
Range(ActiveCell, ActiveCell.Offset(250, 0)).Select
Selection.FillDown
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
Mais 250 n'est pas toujours le nombre de lignes.
BH
Merci pour le code.
Voici ce que j'ai fini par réussir à faire et qui semble fonctionner :
Range("D3").Select
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
Range(ActiveCell, ActiveCell.Offset(250, 0)).Select
Selection.FillDown
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
Mais 250 n'est pas toujours le nombre de lignes.
BH
Une autre approche :
Sub essai()
Dim NbLi
NbLi = Range("A3").CurrentRegion.Rows.Count
With Range("A3").End(xlToRight)(, 2).Resize(NbLi)
.Formula = "=VLOOKUP(RC2,tablo,6,FALSE)"
.Value = .Value
End With
End Sub
CurrentRegion peut comporter quelques inconvénients : cette plage prend en
compte des cellules qui ont pu être utilisées ou mises en forme et ne le
sont plus. La plage traitée peut donc être plus importante que la plage
réellement utile. En principe un enregistrement réinitialise tout ça,
mais..
A tester sur tes données à toi.
Au minimum, remplace ta boucle Do..Loop par
Range("A3").End(xlToRight)(, 2)
pour repérer la première cellule vide à droite de A3, ne serait-ce que
parce qu'une ligne de code en remplace 3.
Evite aussi, quand tu le peux, de travailler sur des sélections. Le code
est plus "bavard" et plus lent, et l'écran a la danse de St Guy pendant
l'exécution (même si ça se soigne très bien).
FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr
Bruno RCSC a écrit :Merci pour le code.
Voici ce que j'ai fini par réussir à faire et qui semble fonctionner :
Range("D3").Select
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
Range(ActiveCell, ActiveCell.Offset(250, 0)).Select
Selection.FillDown
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
Mais 250 n'est pas toujours le nombre de lignes.
BH
Une autre approche :
Sub essai()
Dim NbLi
NbLi = Range("A3").CurrentRegion.Rows.Count
With Range("A3").End(xlToRight)(, 2).Resize(NbLi)
.Formula = "=VLOOKUP(RC2,tablo,6,FALSE)"
.Value = .Value
End With
End Sub
CurrentRegion peut comporter quelques inconvénients : cette plage prend en
compte des cellules qui ont pu être utilisées ou mises en forme et ne le
sont plus. La plage traitée peut donc être plus importante que la plage
réellement utile. En principe un enregistrement réinitialise tout ça,
mais..
A tester sur tes données à toi.
Au minimum, remplace ta boucle Do..Loop par
Range("A3").End(xlToRight)(, 2)
pour repérer la première cellule vide à droite de A3, ne serait-ce que
parce qu'une ligne de code en remplace 3.
Evite aussi, quand tu le peux, de travailler sur des sélections. Le code
est plus "bavard" et plus lent, et l'écran a la danse de St Guy pendant
l'exécution (même si ça se soigne très bien).
FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr
Bruno RCSC a écrit :
Merci pour le code.
Voici ce que j'ai fini par réussir à faire et qui semble fonctionner :
Range("D3").Select
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
Range(ActiveCell, ActiveCell.Offset(250, 0)).Select
Selection.FillDown
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
Mais 250 n'est pas toujours le nombre de lignes.
BH
Une autre approche :
Sub essai()
Dim NbLi
NbLi = Range("A3").CurrentRegion.Rows.Count
With Range("A3").End(xlToRight)(, 2).Resize(NbLi)
.Formula = "=VLOOKUP(RC2,tablo,6,FALSE)"
.Value = .Value
End With
End Sub
CurrentRegion peut comporter quelques inconvénients : cette plage prend en
compte des cellules qui ont pu être utilisées ou mises en forme et ne le
sont plus. La plage traitée peut donc être plus importante que la plage
réellement utile. En principe un enregistrement réinitialise tout ça,
mais..
A tester sur tes données à toi.
Au minimum, remplace ta boucle Do..Loop par
Range("A3").End(xlToRight)(, 2)
pour repérer la première cellule vide à droite de A3, ne serait-ce que
parce qu'une ligne de code en remplace 3.
Evite aussi, quand tu le peux, de travailler sur des sélections. Le code
est plus "bavard" et plus lent, et l'écran a la danse de St Guy pendant
l'exécution (même si ça se soigne très bien).
FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr
Bruno RCSC a écrit :Merci pour le code.
Voici ce que j'ai fini par réussir à faire et qui semble fonctionner :
Range("D3").Select
ActiveCell.Offset(0, 1).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC2,tablo,6,FALSE)"
Range(ActiveCell, ActiveCell.Offset(250, 0)).Select
Selection.FillDown
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
Mais 250 n'est pas toujours le nombre de lignes.
BH