Macro remplacer une série de mots par des sigles (plage donnée)
Fermé
TOT127
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
-
11 nov. 2016 à 13:24
yg_be Messages postés 21303 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mars 2023 - 14 nov. 2016 à 23:03
yg_be Messages postés 21303 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mars 2023 - 14 nov. 2016 à 23:03
A voir également:
- Macro remplacer une série de mots par des sigles (plage donnée)
- Frédéric cherche à faire le buzz sur les réseaux sociaux. il a ajouté une image de manchots sur une image de plage. retrouvez l'image originale de la plage. que cachent les manchots ? ✓ - Forum Windows
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Remplacer disque dur par ssd - Guide
- Mots de passe enregistrés - Guide
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? - Forum Bureautique
2 réponses
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
11 nov. 2016 à 14:42
11 nov. 2016 à 14:42
Suggestion :
Cela va faire le boulot (pour CA & TX) sur la troisième colonne de toutes tes feuilles, jusqu'à rencontrer une cellule vide.
Option Explicit
Sub states()
Dim f As Worksheet
Dim li As Long
Dim etat As String
Dim abbrev As String
For Each f In ThisWorkbook.Worksheets
li = 1
Do
etat = Cells(li, 3)
abbrev = ""
Select Case etat
Case "CALIFORNIE":
abbrev = "CA"
Case "TEXAS":
abbrev = "TX"
End Select
If abbrev <> "" Then
Cells(li, 3) = abbrev
End If
li = li + 1
Loop While Cells(li, 3) <> ""
Next
End Sub
Cela va faire le boulot (pour CA & TX) sur la troisième colonne de toutes tes feuilles, jusqu'à rencontrer une cellule vide.
900 000 lignes ??? !!! Ah ben je suis sûr que tu as une version
d'Excel ultérieure à la version 2003, alors !!! Cordialement. 😉
d'Excel ultérieure à la version 2003, alors !!! Cordialement. 😉
TOT127
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
95
11 nov. 2016 à 14:03
11 nov. 2016 à 14:03
mdr oui, je dois juste finir de traiter mon fichier (remplacer nettoyer) pius ça part dans un logiciel de stats (Stata) qui prend jusqu'à 3 millions de lignes
Utilisateur anonyme
>
TOT127
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
11 nov. 2016 à 14:10
11 nov. 2016 à 14:10
3 millions de lignes ??? !!! N'en jetez plus !!! Ou Excel va exploser !!! 😉
TOT127
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
95
11 nov. 2016 à 14:11
11 nov. 2016 à 14:11
je rajoute plus rien :p je nettoye c'est tout (et je remplace par des abréviations)
11 nov. 2016 à 15:17
11 nov. 2016 à 15:25
11 nov. 2016 à 20:05
11 nov. 2016 à 20:55
ce code prévient quand il a fini chaque feuille :
Option Explicit Sub states() Dim f As Worksheet Dim li As Long Dim etat As String Dim abbrev As String For Each f In ThisWorkbook.Worksheets li = 1 Do etat = Cells(li, 3) abbrev = "" Select Case etat Case "CALIFORNIE": abbrev = "CA" Case "TEXAS": abbrev = "TX" End Select If abbrev <> "" Then Cells(li, 3) = abbrev End If li = li + 1 Loop While Cells(li, 3) <> "" MsgBox "fini " + f.Name + ", dernière ligne =" + CStr(li) Next End Sub13 nov. 2016 à 15:29