Lire et affecter une valeur

rominet72

XLDnaute Nouveau
Bonjour,

Je me creuse la tête depuis qq temps pour créer une macro qui pourrait lire environ 200 valeurs "texte" différentes en colonne A et leur affecter une valeur pré-établie en colonne B.

Exemple:
Si la macro lit 2213CM1 (en A), je veux qu'elle affecte SD (en B).
Si la macro lit 2213CM26 (en A), je veux qu'elle affecte SD & JF (en B).

Est-ce possible et comment?

Merci à tous
 

rominet72

XLDnaute Nouveau
Re : Lire et affecter une valeur

Merci pour la réponse, je connais cette méthode mais j'ai besoin de lancer une macro pour qu'il repère 150 références différentes (type 2213CM1, 2213CM2) et affecter un texte pré-établit (SD ou SD & JF) selon ce qu'il va trouver.
Le texte 2213CM1 ne se trouve pas obligatoirement en première ligne de colonne A.

A vous
 

jeanpierre

Nous a quitté
Repose en paix
Re : Lire et affecter une valeur

Bonsoir tous

Sans table de concordance, cela ne sera pas facile.....

J'avais hésité à repondre..... je crois que j'avais eu raison...

Jean-Pierre

Sachant qu'il y aura peut-être besoin de macro ou peut-être pas...
 
Dernière édition:

rominet72

XLDnaute Nouveau
Re : Lire et affecter une valeur

Pour JP14 et Jean-pierre,
Je veux bien un début de prog en VBA que je modifierai au fur et à mesure des affectations nouvelles.

Cahier des charges.

Lire dans la colonne A sur 200 lignes.
Si lignes vides on passe
Si une ligne contient un 2213CM1 on affecte SD
Si une ligne contient un 2213CM120 on affecte SD & JF
Les affectations sont connus par avance et déclaré dans ....?
Si ça marche sur deux lignes, cela doit marcher sur 200, le tout est d'avoir les affectations correspondantes.
La macro ne doit pas bugger si 2213CM59 n'a pas d'affectation par exemple.

Merci
@+
 

bqtr

XLDnaute Accro
Re : Lire et affecter une valeur

Bonjour,

Si j'ai bien compris, voici un exemple.

En feuille 3 la liste des références et des affectations.
En feuille 2 une liste de référence.

Code:
Sub Recherch()

Dim Cell As Range, i As Long
Dim Plg

Plg = Sheets("Feuil3").Range("A1:B" & Sheets("Feuil3").Range("B65536").End(xlUp).Row)
Application.ScreenUpdating = False

With Sheets("Feuil2")
  .Range("B2:B" & .Range("A65536").End(xlUp).Row).Clear
   For Each Cell In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
     For i = 1 To UBound(Plg)
         If Cell = Plg(i, 1) Then Cell.Offset(0, 1) = Plg(i, 2)
     Next
   Next
End With

Application.ScreenUpdating = True
End Sub

A+
 

Pièces jointes

  • rominet72.zip
    9.2 KB · Affichages: 17

Tibo

XLDnaute Barbatruc
Re : Lire et affecter une valeur

Bonjour,

Dès lors que l'on a une table d'équivalence (table qui est forcément indispensable), un simple RECHERCHEV ou INDEX / EQUIV devrait suffire.

Les codes qui n'ont pas d'affectation peuvent être traités par un test.

Cale dit, il se peut aussi que je n'aie pas tout compris.

Rominet, si tu repasses, donnes nous suffisamment de précisions (et le cas échéant, un petit bout de fichier) pour que nous puissions t'apporter une aide efficace.

Bon WE à tous

@+
 

rominet72

XLDnaute Nouveau
Re : Lire et affecter une valeur

Tibo, j'avais envisagé cette solution aussi, mais miracle, la macro de bqtr fonctionne à la perfection.

Je vais créer mon tableau de déclaration et voir si aucune anomalie ne se produit. Coup de chapeau à bqtr et merci aux autres de leur participation active.

@+ et bon WE
 

Discussions similaires

Statistiques des forums

Discussions
312 511
Messages
2 089 169
Membres
104 056
dernier inscrit
fxcas