OVH Cloud OVH Cloud

maj table par macro

2 réponses
Avatar
marchepied
Bonjour,
J'ai 2 feuilles:
1ere feuille appel=E9 "data" avec les colonnes (A)"compte" &=20
(B)"note" avec 20000 lignes
2eme feuille appel=E9 "maj" avec les m=EAme colonnes mais sur=20
10 lignes seulement.
Je voudrai faire une macro qui me mette =E0 jour la "note" =20
dans "data" =E0 partir de "maj" par rapport au=20
m=EAme "compte" bien sur.
je voudrai que la macro lise les 10 lignes de "maj" et=20
mette =E0 jour "base"
je ne voudrai pas que la macro lise les 20000 lignes=20
de "data" pour chercher la note de "maj", car le=20
traitement serai tr=E8s long.
Merci pour votre aide,
marchepied

2 réponses

Avatar
JpPradier
Bonjour Marchepied

A adapter : je n'ai pas tenu compte des éventuelles lignes de titre et la mise à jour se fait par
remplacement de l'ancienne valeur par la nouvelle.

j-p


Sub MiseAJour()
For i = 1 To 10
valeur = Worksheets("maj").Range("a" & i).Value
Set maBase = Worksheets("data").Range("a1:a20000")
result = WorksheetFunction.Match(valeur, maBase, 0)
Worksheets("data").Range("b" & result).Value = Worksheets("maj").Range("b" & i).Value
Next
Set maBase = Nothing
End Sub
Avatar
marchepied
ça marche ! Merci
marchepied

-----Message d'origine-----
Bonjour Marchepied

A adapter : je n'ai pas tenu compte des éventuelles
lignes de titre et la mise à jour se fait par

remplacement de l'ancienne valeur par la nouvelle.

j-p


Sub MiseAJour()
For i = 1 To 10
valeur = Worksheets("maj").Range("a" & i).Value
Set maBase = Worksheets("data").Range("a1:a20000")
result = WorksheetFunction.Match(valeur, maBase, 0)
Worksheets("data").Range("b" & result).Value =
Worksheets("maj").Range("b" & i).Value

Next
Set maBase = Nothing
End Sub

.