Up |
|
|
  |
Author: pierre.pierre. Date: Apr 2, 2008 11:21
Bonjour
J'ai un tableau avec une trentaine de colonnes en feuil1. Je dois remplacer
certaines valeurs par rapport à une liste qui se trouve en feuil2
Par exemple j'ai en feuil2 : A1 789560 ( ancienne valeur) et en A2
B45A52 ( nouvelle valeur )
Actuellement je fais remplacer " 789560 " par B45A52 en feuil1, cela
fonctionne mais pas terrible vue la longue liste.
Auriez-vous vous une autre méthode ? merci pour votre aide
Pierre
|
| |
|
| | 8 Comments |
|
  |
Date: Apr 2, 2008 11:33
> Bonjour
>
> J'ai un tableau avec une trentaine de colonnes en feuil1. Je dois
> remplacer certaines valeurs par rapport à une liste qui se trouve en
> feuil2
> Par exemple j'ai en feuil2 : A1 789560 ( ancienne valeur) et en A2 ...
|
| Show full article (0.94Kb) |
|
| | no comments |
|
  |
Author: pierre.pierre. Date: Apr 2, 2008 18:11
bonjour
Effectivement je me suis trompé... , en colonne A de la feuil2 les
anciennes valeurs et en colonne B les nouvelles . ( jusqu'a A200 , B200)
En A1 de la feuil2 j'ai 789560 et en B1 la donnée B45A52
Le tableau se trouve en feuil1 et le 789560 dans mon exemple se trouve Ã
plusieurs endroit, j'utilise actuellement Remplacer Tout
Merci
Pierre
"Philippe.R" a écrit dans le message de news:
%%23BkCUAPlIHA.464@TK2MSFTNGP02.phx.gbl...
> Bonsoir,
> Pas sur de bien comprendre :
> la nouvelle valeur est en A2 (mais de...
|
| Show full article (1.47Kb) |
| no comments |
|
  |
Date: Apr 2, 2008 19:53
Bonjour Pierre,
En supposant nommée anciens la plage des anciennes valeurs, tu colles le
code suivant dans un module ordinaire
Sub rplc()
Application.ScreenUpdating = False
For Each c In Selection
For Each d In Range("anciens")
If c.Value = d.Value Then
c.Value = d.Offset(0, 1).Value
End If
Next d
Next c
Application.ScreenUpdating = True
End Sub
tu sélectionnes la plage sur laquelle tu veux effectuer le remplacement en
feuille1 et tu lances l'exécution du code
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino...
|
| Show full article (2.37Kb) |
| no comments |
|
  |
Author: pierre.pierre. Date: Apr 3, 2008 14:20
bonjour Philippe
Quand j'execute la macro les valeurs concernées disparaissent ?
La couleur de la police est automatique
étrange, je suis sous version 2003
Pierre
"Philippe.R" a écrit dans le message de news:
eoNcnXTlIHA.2328@TK2MSFTNGP03.phx.gbl...
> Bonjour Pierre,
> En supposant nommée anciens la plage des anciennes valeurs, tu colles...
|
| Show full article (2.76Kb) |
| no comments |
|
  |
Date: Apr 3, 2008 22:39
> bonjour Philippe
>
> Quand j'execute la macro les valeurs concernées disparaissent ?
> La couleur de la police est automatique ...
|
| Show full article (3.46Kb) |
| no comments |
|
  |
Author: pierre.pierre. Date: Apr 5, 2008 04:54
bonjour
merci Philippe pour ton aide
je joins un tableau avec en feuil 1 les anciennes valeurs et en feuil2 les
nouvelles valeurs
Est-il possible de differencier les valeurs modifiées par une couleur
afin de constater un éventuel oubli par rapport à la liste que l'on me
donne ?
http://cjoint.com/?efn2s8dmfH
Merci
Pierre
"Philippe.R" a écrit dans le message de news:
eZu6JZhlIHA.1208@TK2MSFTNGP05.phx.gbl...
> Bonjour Pierre,
> As tu bien sélectionné ton tableau en feuille 1 et nommé "anciens"...
|
| Show full article (4.05Kb) |
| no comments |
|
  |
Date: Apr 5, 2008 06:35
Bonjour Pierre,
La procédure est donc la suivante :
Tu nommes (insertion/nom/définir) anciens la plage située en feuille 2 de a2
à a190 de ton exemple ; tu sélectionnes la plage située de b2 à n195
(commande ctrl+maj+fin en étant situé en b2) et tu lances cette sub
Sub rplc()
Application.ScreenUpdating = False
For Each c In Selection
For Each d In Range("anciens")
If c.Value = d.Value Then
c.Value = d.Offset(0, 1).Value
c.Interior.ColorIndex = 33
End If
Next d
Next c
Application.ScreenUpdating = True
End Sub
que tu auras collée préalablement dans un module ordinaire
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www...
|
| Show full article (5.16Kb) |
| no comments |
|
  |
|
|
  |
Author: pierre.pierre. Date: Apr 5, 2008 08:16
Et bien BRAVO Philippe
c'est genial comme routine, au lieu de la commande "remplacer tout "
Encore merci
Pierre
"Philippe.R" a écrit dans le message de news:
uKBndHylIHA.1768@TK2MSFTNGP05.phx.gbl...
> Bonjour Pierre,
> La procédure est donc la suivante :
> Tu nommes (insertion/nom/définir...
|
| Show full article (5.58Kb) |
| no comments |
|
|
|