Remplacement de données macro excel

mathilde88

XLDnaute Nouveau
Bonjour à tous,

J'ai réalisé ma première macro récemment et je cherche à l'améliorer.
En effet, je dois en autre dans cette macro remplacer un grand nombre de donnée par d'autre et j'utilise la fonction suivante qui est un peu lourde:

Selection.ReplaceWhat:="",Replacement:="",LookAt:=xlWhole,SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=True.

Il faudrait qu'excel remplace les valeurs de la colonne A par sa correspondance qui figure dans la feuille "Matériaux".
Sachant que dans la colonne A certaines lignes ne comportent aucunes données.

Est ce que quelqu'un peux m'aider.

Ps : pour des soucis de confidentialité j'ai du supprimer certaines feuilles du classeur il y a donc certainement des erreurs au niveau de ma macro

D'avance merci beaucoup pour votre aide

Mathilde
 

Pièces jointes

  • Macro aide.xls
    78 KB · Affichages: 43

Staple1600

XLDnaute Barbatruc
Re : Remplacement de données macro excel

Bonsoir à tous

mathilde88 (Bienvenue sur le forum)
Essaies de cette façon
Sélectionnes tes données dans ta colonne A sur la feuille Audit SO, puis lance la macro ci-dessous
Code:
Sub TestOk()
Dim c As Range
With Sheets("Matériaux")
.Range(.Cells(2, 1), .Cells(Rows.Count, 2).End(3)).Name = "DATAS"
End With
Application.ScreenUpdating = False
For Each c In Selection
If Not IsEmpty(c) Then
If IsError(Application.VLookup(c, [DATAS], 2, 0)) Then
c.Value = c.Value
Else
c.Value = Application.VLookup(c, [DATAS], 2, 0)
End If
End If
Next
End Sub
 

mathilde88

XLDnaute Nouveau
Re : Remplacement de données macro excel

Bonjour Staple1600,

La macro fonctionne super bien pour le remplacement des matériaux et je vous remercie beaucoup pour votre réponse.
En revanche, je rencontre des difficultés en ce qui concerne le remplacement des codes défauts. J'ai essayé de modifier la macro pour que cela fonctionne mais ça ne marche pas. Voyez vous quelque chose qui cloche.

D'avance merci pour votre aide précieuse.

Cordialement

Mathilde
 

Pièces jointes

  • macro aide 2.xls
    100.5 KB · Affichages: 26

Staple1600

XLDnaute Barbatruc
Re : Remplacement de données macro excel

Bonjour à tous

mathilde88
On ne peut nommer plusieurs DATAS
Il faut changer de nom à chaque fois.
(J'ai modifié ta table de correspondance sur la feuille Défauts en gardant que les 3 chiffres au début)
NB: En cellule B2, j'ai mis le caractère '
Et j'ai modifié le code VBA comme suit :
PS: Je te laisse faire les autres modifications sur le même principe
(on doit avoir des plages nommées avec des noms uniques donc différents)
Code:
Sub Défauts()
Dim c As Range, x
With Sheets("Défauts")
.Range(.Cells(2, 1), .Cells(Rows.Count, 2).End(3)).Name = "DATDEF"
End With
Application.ScreenUpdating = False
For Each c In Sheets("Audit S0").Range("C2:C5000")
If Not IsEmpty(c) Then
x = VBA.Left(c.Text, 3) * 1
If IsError(Application.VLookup(x, [DATDEF], 2, 0)) Then
c.Value = c.Value
Else
c.Value = Application.VLookup(x, [DATDEF], 2, 0)
End If
End If
Next
End Sub
codDef.png
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
126

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35