OVH Cloud OVH Cloud

Match et Remplacer

2 réponses
Avatar
Denys
Bonjour à tous,

Sur une feuille Excel, dans la colonne G je reçois plusieurs no d'employés.
Je souhaite, par macro, faire changer ce no d'employé par le nom
correspondant.

Voici ou j'en suis:
Sub RemplacerNom()
Set plg1 = Sheet3.Range("B2:B285")
Set plg2 = Sheet3.Range("A2:A285")
For Each c In Sheets("Data").Range("G2:G" & Range("G65536").End(xlUp).Row)
If Not IsError(Application.Match(c, plg1, 0)) Then
Sheet1.Range("G2:G" & Range("G65536").End(xlUp).Row) =
Application.Index(plg2, Application.Match(c, plg1, 0))
Else
Exit Sub
End If
Next c
End Sub

Le problème, c'est que c'est le même nom qui s'écrit partout !!!....

Sauriez-vous comment remédier à cette situation?

Merci

Denys

2 réponses

Avatar
docm
Bonjour Denys.

Sub RemplacerNom()
Dim a As Variant
Set plg1 = Sheet3.Range("B2:B285")
Set plg2 = Sheet3.Range("A2:A285")
For Each c In Sheets("Data").Range("G2:G" &
Sheets("Data").Range("G65536").End(xlUp).Row)
If Not IsError(Application.Match(c, plg1, 0)) Then
'a = Application.Match(c, plg1, 0)
'b = Sheet1.Range("G65536").End(xlUp).Row + 1
'Sheet1.Cells(b, "G") = plg2.Cells(a, 1)
Sheet1.Cells(Sheet1.Range("G65536").End(xlUp).Row + 1, "G") plg2.Cells(Application.Match(c, plg1, 0), 1)
Else
Exit Sub
End If
Next c
End Sub

docm

Denys déclare:
Bonjour à tous,

Sur une feuille Excel, dans la colonne G je reçois plusieurs no
d'employés. Je souhaite, par macro, faire changer ce no d'employé par
le nom correspondant.

Voici ou j'en suis:
Sub RemplacerNom()
Set plg1 = Sheet3.Range("B2:B285")
Set plg2 = Sheet3.Range("A2:A285")
For Each c In Sheets("Data").Range("G2:G" &
Range("G65536").End(xlUp).Row) If Not IsError(Application.Match(c,
plg1, 0)) Then
Sheet1.Range("G2:G" & Range("G65536").End(xlUp).Row) > Application.Index(plg2, Application.Match(c, plg1, 0))
Else
Exit Sub
End If
Next c
End Sub

Le problème, c'est que c'est le même nom qui s'écrit partout !!!....

Sauriez-vous comment remédier à cette situation?

Merci

Denys


Avatar
Denys
Bonjour Docm,

Merci infiniment !!!! Ca fonctionne à la perfection !!!!!

Bonne journée

Denys




Bonjour Denys.

Sub RemplacerNom()
Dim a As Variant
Set plg1 = Sheet3.Range("B2:B285")
Set plg2 = Sheet3.Range("A2:A285")
For Each c In Sheets("Data").Range("G2:G" &
Sheets("Data").Range("G65536").End(xlUp).Row)
If Not IsError(Application.Match(c, plg1, 0)) Then
'a = Application.Match(c, plg1, 0)
'b = Sheet1.Range("G65536").End(xlUp).Row + 1
'Sheet1.Cells(b, "G") = plg2.Cells(a, 1)
Sheet1.Cells(Sheet1.Range("G65536").End(xlUp).Row + 1, "G") > plg2.Cells(Application.Match(c, plg1, 0), 1)
Else
Exit Sub
End If
Next c
End Sub

docm

Denys déclare:
Bonjour à tous,

Sur une feuille Excel, dans la colonne G je reçois plusieurs no
d'employés. Je souhaite, par macro, faire changer ce no d'employé par
le nom correspondant.

Voici ou j'en suis:
Sub RemplacerNom()
Set plg1 = Sheet3.Range("B2:B285")
Set plg2 = Sheet3.Range("A2:A285")
For Each c In Sheets("Data").Range("G2:G" &
Range("G65536").End(xlUp).Row) If Not IsError(Application.Match(c,
plg1, 0)) Then
Sheet1.Range("G2:G" & Range("G65536").End(xlUp).Row) > > Application.Index(plg2, Application.Match(c, plg1, 0))
Else
Exit Sub
End If
Next c
End Sub

Le problème, c'est que c'est le même nom qui s'écrit partout !!!....

Sauriez-vous comment remédier à cette situation?

Merci

Denys