Chercher et codifier

Scoobidoo

XLDnaute Occasionnel
Bonjour à tous, le forum,

Voilà, j'aurais besoin d'aide pour pouvoir dans le fichier joint, qu'en face de chaque nom en Feuil1 le système écrive le Code correspondant à ce nom qui se trouve en Feuil2. Pour info, dans mon "vrai" fichier qui comporte environ 6000 lignes, les noms qui se trouvent en Feuil1 ne sont pas forcément classés. J'epère avoir été assez clair pour que vous puissiez me venir en aide. Bonne journée à tous et au plaisir de vous lire.

Scoobidoo
 

Pièces jointes

  • Codification.xls
    23.5 KB · Affichages: 102
  • Codification.xls
    23.5 KB · Affichages: 121
  • Codification.xls
    23.5 KB · Affichages: 137

Scoobidoo

XLDnaute Occasionnel
Re : Chercher et codifier

Re le forum, Bonjour Dranreb,

J'ai oublié de préciser qu'il s'agissait d'une solution en Vba que j'avais besoin. Je te rmercie de ton aide et conserve tout de meme cette possibilité au cas où. Bonne journée.

Scoobidoo
 

JNP

XLDnaute Barbatruc
Re : Chercher et codifier

Bonjour le fil :),
La précision évite la perte de temps :mad:...
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Target.Column <> 1 Then Exit Sub
Set C = Sheets("Feuil2").Columns(1).Find(Target, lookat:=xlWhole)
If Not C Is Nothing Then Target.Offset(0, 1) = C.Offset(0, 1)
End Sub
dans le code de la feuille 1.
Bonne journée :cool:
 
G

Guest

Guest
Re : Chercher et codifier

Bonjour,
hello JNP:)

Tout faire tout d'un coup et sur la base du fichier exemple:

Code:
Sub GetCodes()
    Dim tNoms, tNoms2, tCodes, idx  'variants
    Dim i As Long, j As Long
    With Sheets("Feuil1")
        tNoms = .Range("A2:B" & .Cells(.Rows.Count, 1).End(xlUp).Row).Value
    End With
    With Sheets("Feuil2")
        With .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
        tNoms2 = .Value
        tCodes = .Offset(, 1).Value
        End With
    End With
 
    For i = 1 To UBound(tNoms)
        idx = Application.Match(tNoms(i, 1), tNoms2, 0)
        If Not IsError(idx) Then tNoms(i, 2) = tCodes(idx, 1)
    Next i
 
    Sheets("Feuil1").Range("A2").Resize(UBound(tNoms), 2).Value = tNoms
End Sub

Une autre façon:
Code:
Sub GetCodes2()
    Dim plg1, plg2, plg3
    With Sheets("Feuil2")
        Set plg2 = .Range("A1:B" & .Cells(.Rows.Count, 1).End(xlUp).Row)
    End With
    With Sheets("Feuil1")
        Set plg1 = .Range("A2:B" & .Cells(.Rows.Count, 1).End(xlUp).Row)
        With plg1.Columns(2)
            .Formula = "=INDEX(Feuil2!" & plg2.Address & ",MATCH(Feuil1!$A2,Feuil2!" & plg2.Columns(1).Address & ",0),2)"
            .Value = .Value
        End With
    End With
End Sub

A+
 
Dernière modification par un modérateur:

Scoobidoo

XLDnaute Occasionnel
Re : Chercher et codifier

Bonjour JNP, le forum,

Je suis vraiment confus en effet de ne pas avoir pensé à cette précision importante. Soyez tous assurés que je regrette la perte de temps que cela vous aura occasionné. Sinon, j'ai mis le code que tu me propose dans le code de ma Feuil1 mais je ne parviens pas à ce que cela tourne !! Je suis étonné mais je ne sais pas quoi faire pour y remèdier. Peut être que quelqu'un aura une idée à me soumettre ? D'avance merci.

Scoobidoo
 

Scoobidoo

XLDnaute Occasionnel
Re : Chercher et codifier

Bonjour Hasco, le fil

C'est parfait ! Tu réponds exactement à mon besoin et je t'en remercie. Merci aussi à tous ceux qui se sont penchés sur mon cas et encore pardon pour mon omission sur le type de solution recherché. Bonne et belle journée à tous.

Scoobidoo.
 
G

Guest

Guest
Re : Chercher et codifier

Bonjour,

Le code de JNP qui semble ne plus être connecté et un code évènementiel. Il se déclenchera tout seul quand tu changeras un nom dans la colonne A de la feuille 1.

Les codes que je t'ai donnés sont à mettre dans un module de code général et a appeler comme n'importe quelle macro.

A+
 

Scoobidoo

XLDnaute Occasionnel
Re : Chercher et codifier

Re Hasco, le fil,

Merci pour cet éclairage sur le code de JNP. Je suis actuellement en train d'adapter ton code à mon fichier. J'espère m'en sortir mais dans la négative, je sais que je pourrai revenir vers le forum où il y a toujours quelqu'un pour aider son prochain. Encore merci Hasco et à une prochaine fois j'espère.

Scoobidoo
 

Discussions similaires

Statistiques des forums

Discussions
312 275
Messages
2 086 706
Membres
103 377
dernier inscrit
fredy45