Remplacer une valeur (Macro excel débutant)

Résolu
Elnono94 Messages postés 13 Date d'inscription samedi 14 février 2004 Statut Membre Dernière intervention 6 décembre 2005 - 20 mai 2005 à 16:03
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 - 20 mai 2005 à 20:14
Salut,


Je suis en train d’essayer d’effectuer une macro qui :


d’après la valeur de la colonne A, recherche la valeur correspondante dans la colonne E


et coupe/colle la référence de la colonne F en C


Exp. :


A,
B,
C,
D,
E,
F,
----

N.ENT.,
FRS,
PAYS,
,
N.ENT.,
PAYS,
----

34261,
Raymond ,
ARG,
,
34261,
NL,
----

34262,
Raymond ,
ARG,
,
34262,
BE,
----

34263,
Raymond ,
ARG,
,
34263,
FR,
----

34264,
Raymond ,
ARG,
,
34264,
GB,
----

34265,
Raymond ,
ARG,
,
34265,
FR,
----

34266,
Raymond ,
ARG,
,
34266,
NL

Bref remplacer tout les ARG…


Merci pour votre aide.


PS : j’aurais pu effectuer une fonction recherche, mais je voulais savoir comment
faire sur Excel 2003 en VBA.

5 réponses

galopin01 Messages postés 133 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 octobre 2011 1
20 mai 2005 à 18:14
Bonjour,
Il y a comme toujours plusieurs manière de voir les choses :
la plus simple, pas très rapide mais qui convient parfaitement pour de petits travaux :

Sub Test()
Dim i%, Fi%, Z$, Ret
For Each o In Range("E3:E" & Range("E65000").End(xlUp).Row)
Z = o.Value
Set Ret = Range("A3:A" & Range("A65000").End(xlUp).Row).Find(Z)
If Not Ret Is Nothing Then
Fi = Ret.Row
i = Fi
Do
Range("C" & i).Value = o.Offset(0, 1)
Set Ret = Range("A1:A" & Range("A65000").End(xlUp).Row).FindNext(Ret)
i = Ret.Row
Loop While Not Ret Is Nothing And i <> Fi
End If
Fi = 0
Next
End Sub

Une macro d'école !
A+
3
CCJ Messages postés 565 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 30 avril 2008 1
20 mai 2005 à 18:35
hum hum... une macro d'ecole, surement pas primaire alors

tite kestion :

a quoi sert range ?? quel est sa fonction

sur i%, Fi%, Z$ a quoi servent :es % et le $

For Each o In Range : ca sert a quoi each

et enfin , c'est quoi la propriété .row?

voila merci
VirusMan
une idée est un chose ,la dire en est une autre
0
galopin01 Messages postés 133 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 octobre 2011 1
20 mai 2005 à 19:51
Le commentaire est effectivement laconique :
Le voici en gif zippé
http://perso.wanadoo.fr/galopin01/images/comment.zip
A+
0
CCJ Messages postés 565 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 30 avril 2008 1
20 mai 2005 à 19:59
ok thx


VirusMan
une idée est un chose ,la dire en est une autre
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
20 mai 2005 à 20:14
Bonsoir,



Option Explicit

Const NumCol = 1

Const NumRow = 3

Const NumRst = 5

Const NumCst = 6



Sub Change()

Dim i, j

For i = 2 To 20

For j = 2 to 20

If Cells(NumCol)(i).Value = Cells(NumRst)(i).Value Then

Cells(NumCst)(i).Select

Selection.Copy

Cells(NumRow)(i).Select

ActiveSheet.Paste

Application.CutCopyMode = False

End If

Exit For

Next j

Next i

DoEvents

End Sub



jpleroisse
0
Rejoignez-nous