Rechercher/remplacer avec autofilter
Résolu/Fermé
Nat4287
Messages postés
6
Date d'inscription
mercredi 14 août 2019
Statut
Membre
Dernière intervention
16 août 2019
-
14 août 2019 à 14:25
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 16 août 2019 à 16:44
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 16 août 2019 à 16:44
A voir également:
- Rechercher/remplacer avec autofilter
- Rechercher ou entrer l'adresse - Guide
- Rechercher et remplacer word - Guide
- Adresse IP locale : comment la trouver facilement - Guide
- Remplacer disque dur par ssd - Guide
- Rechercher une chanson - Guide
1 réponse
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
14 août 2019 à 14:55
14 août 2019 à 14:55
bonjour, je ferais ainsi:
Private Sub ma() Dim col As Range, trouve As Range Set col = Intersect(ActiveSheet.Columns(4), ActiveSheet.UsedRange) Set trouve = col.Find("MA, MA", , , xlPart) Do Until trouve Is Nothing trouve.Value = "MA" Set trouve = col.FindNext(trouve) Loop End Sub
14 août 2019 à 15:35
Et maintenant comme j'ai plusieurs autres codes différents comme "AL, AL, etc" à remplacer, dois-je refaire une déclaration DIM en changeant les valeurs ? Ou il y a un script plus simple ?
14 août 2019 à 15:58
on pourrait aussi lire une liste des valeurs quelque part dans Excel
14 août 2019 à 16:41
Dois-je comprendre qu'il y a 2 macros ci-dessus ? VBA me les sépare comme 2 macros distinctes...
La 1° macro fait tourner l'autre ?
En tout cas, ça me donne le résultat escompté. Je vais tester avec l'ensemble de mes données.
Mille mercis pour ton aide !
14 août 2019 à 17:14
il serait possible de chercher le premier mot de chaque cellule, puis de chercher si il se répète, séparé par des virgules, et remplacer le contenu par le premier mot. cela éviterait d'avoir une liste (MA, AL, ...).
16 août 2019 à 11:37
Mon souci maintenant est que j'ai intégré les différentes procédures (j'ai besoin des 2 procédures que tu m'as faites) dans ma grosse macro et ça cale.
Ca cale sur le "DIM call AS Range
Dim col As Range
Set col = Intersect(ActiveSheet.Columns(4), ActiveSheet.UsedRange)
Call changeons(col, "AL")
Call changeons(col, "AR")
Call changeons(col, "AU")
Plus haut dans ma macro, j'ai inséré ceci
Dim col As Range, trouve As Range
Set col = Intersect(ActiveSheet.Columns(4), ActiveSheet.UsedRange)
Set trouve = col.Find("2300")
Do Until trouve Is Nothing
trouve.Value = "Sucettes"
Set trouve = col.FindNext(trouve)
Set col = Intersect(ActiveSheet.Columns(4), ActiveSheet.UsedRange)
Set trouve = col.Find("2301")
Do Until trouve Is Nothing
trouve.Value = "Pomme d'amour"
Set trouve = col.FindNext(trouve)
Loop
Séparément, elles fonctionnent mais pas ensemble, semble-t-il !