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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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
.
ç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
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