Remplacement de données macro excel

  • Initiateur de la discussion Initiateur de la discussion mathilde88
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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

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)
[TABLE="width: 650"]
[TR]
[TD]
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
[/TD]
[TD] codDef.png
[/TD]
[/TR]
[/TABLE]
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour