Sub rechercher et remplacer

Signaler
Messages postés
14
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
10 août 2010
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour à tous,

J'ai un petit souci avec ma macro qui recherche dans une colonne qui contient des Codes Postaux, un Code Postal en particulier rentré dans un UserForm, et qui le remplace par un autre, rentré dans une autre Textbox de mon Userform.

Cette macro fonctionne très bien avec les champs "Adresse", "Ville", "Pays",...mais pas du tout avec des nombres type code postal ou numero de téléphone.

Je suppose que ca doit avoir un lien avec la déclaration des variables, mais n'arrive pas à trouver la bonne!

Ma macro est la suivante:

Sub FindrepCP1()
Dim target, cell As Range
Dim i, k As Variant
i = resultatmembre.Label27.Caption
k = resultatmembre.TextBox3.Value
Set target = Sheets("CGENERAL").Range(Range("F3"), Range("F65536").End(xlUp))
For Each cell In target
If cell.Value i Then cell.Value k
Next cell
End Sub

Merci de m'éclairer, si quelqu'un a une idée!

Merci beaucoup d'avance,

Miniboo

2 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,

1) évite de donner les noms cell et target (pour éviter des ambiguïtés)
2) Dim x, y as range ne définit en Range que y ( x reste variant) !
essaye :
Dim targeta As Range, cell As Range
  Dim i As string, k As String
  i = resultatmembre.Label27.Caption
  k = resultatmembre.TextBox3.Value
  Set target = Sheets("CGENERAL").Range(Range("F3"), Range("F65536").End(xlUp))
  For Each c In targeta
    If c.Value i Then c.Value k
  Next c
  set targeta = Nothing '   (libère)



____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" (en bas d'une solution adéquate)
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Compare par ailleurs ce qui est comparable...
Nous ignorons les formats de tes cellules en colonne F
Il est clair que si par exemple tu compares "5500" à un label contenant par exemple "05500" ==>> badaboum.
Or une cellule formatée en code postal et affichant "05500" contient en réalité la valeur 5500
utilise la propriété Text de ta cellule plutôt que sa propriété Value
If c.text i then c.value k ' ce qui, pour un code postal, suppose que ta textbox contient un numérique


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" (en bas d'une solution adéquate)