Macro pour remplacer colonnes avec dictionnaire
Ayadin75
Messages postés
47
Statut
Membre
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour!
prb d'excel avec grosse base de données ici...
Je cherche a écrire une macro. Mon fichier Excel a 5 pages (p1 p2 p3 p4).
J’aimerais que la macro travaille sur les colonnes S à AC de ces pages.
Chaque page a entre 300.000 et 750.000 lignes. Le fichier fait 270MO!
Il s’agit de remplacer des expressions selon un « dictionnaire » que j’ai constitué, par colonne, sur une dernière page. ça va permettre d’alléger le fichier en enlevant les longues séries de caractère. Je compte perdre 30% de poids et ainsi pouvoir mieux le traiter dans un logiciel statistique dédié (stata).
Ces colonnes ont des expressions longues dedans, du genre:
« Meuble a tiroir en bois »
Je veux raccourcir ça, doit pr un chiffre, soit une abbreviation. j'ai un dictionnaire, colonne (texte long; abbréviation). le tout, sans doublons.
Ma démarche au début a été de faire une masse de Recherche V, les copier en valeur, et supprimer la colonne de base. C'est très long, ça rame, je me demande si ya une meilleure solution. J'ai aussi fait, pour des cas faciles, des chercher-remplacer dans le casseur (respecter la casse, celule entière). Peu optimal, pourtant j'ai des ordi assez au taquet.
Je suis totalement perdu!
J’ai tenté des trucs mais je crois que
1. erreurs de syntaxe
2. Pas adapté à la taille de la tache
Si quelqu’un pouvait me guider un peu!
merci bcp de votre aide!
En PJ un exemple de fichier: https://www.cjoint.com/c/ICqlXIFTWkx
il est comme mon fichier, mais plus léger. il contient un dictionnaire "incomplet", fondé sur la dernière page. EN jaune sont les colonnes que j'ai travaillé par RechercheV
<config>
2 Mac
2 PCs
prb d'excel avec grosse base de données ici...
Je cherche a écrire une macro. Mon fichier Excel a 5 pages (p1 p2 p3 p4).
J’aimerais que la macro travaille sur les colonnes S à AC de ces pages.
Chaque page a entre 300.000 et 750.000 lignes. Le fichier fait 270MO!
Il s’agit de remplacer des expressions selon un « dictionnaire » que j’ai constitué, par colonne, sur une dernière page. ça va permettre d’alléger le fichier en enlevant les longues séries de caractère. Je compte perdre 30% de poids et ainsi pouvoir mieux le traiter dans un logiciel statistique dédié (stata).
Ces colonnes ont des expressions longues dedans, du genre:
« Meuble a tiroir en bois »
Je veux raccourcir ça, doit pr un chiffre, soit une abbreviation. j'ai un dictionnaire, colonne (texte long; abbréviation). le tout, sans doublons.
Ma démarche au début a été de faire une masse de Recherche V, les copier en valeur, et supprimer la colonne de base. C'est très long, ça rame, je me demande si ya une meilleure solution. J'ai aussi fait, pour des cas faciles, des chercher-remplacer dans le casseur (respecter la casse, celule entière). Peu optimal, pourtant j'ai des ordi assez au taquet.
Je suis totalement perdu!
J’ai tenté des trucs mais je crois que
1. erreurs de syntaxe
2. Pas adapté à la taille de la tache
Si quelqu’un pouvait me guider un peu!
merci bcp de votre aide!
En PJ un exemple de fichier: https://www.cjoint.com/c/ICqlXIFTWkx
il est comme mon fichier, mais plus léger. il contient un dictionnaire "incomplet", fondé sur la dernière page. EN jaune sont les colonnes que j'ai travaillé par RechercheV
<config>
2 Mac
2 PCs
A voir également:
- Macro pour remplacer colonnes avec dictionnaire
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment faire des colonnes sur word - Guide
- Télécharger dictionnaire médical larousse gratuit pdf - Télécharger - Dictionnaires & Langues
- Remplacer disque dur par ssd - Guide
2 réponses
Bonjour,
Excel n'est pas un SGBD !
Il en existe de nombreux gratuits.
Excel n'est pas un SGBD !
Il en existe de nombreux gratuits.
Ayadin75
Messages postés
47
Statut
Membre
1
merci, je vais regarder ça. En effet, excel n'est vraiment pas fait pour ça! là j'ai supprimé quelques colonnes pour simplifier, mais c'est galère sinon!
Bonjour à tous,
Je me suis amusé avec ton fichier. Mais comme dit Patrice, 270 Mo il risque d'exploser en plein vol.
Tu n'as plus à construire le dico, je le construis au fur et à mesure. Les n° ne reprennent donc pas à 0 à chaque champ.
J'ai réduit ton fichier à 168ko en supprimant les lignes vides (des fois un million...)
Ce qui est amusant c'est qu'il est passé à 181ko après traitement. La feuille dico sans doute
Reste à voir ce que ça donnera sur le vrai.
Tu as une constante shExclu et la définition des colonnes de S à AC à traiter à fixer dans le code avant.
https://mon-partage.fr/f/MDUxftAh/
eric
PS : je tiens compte de la casse. Je n'ai pas voulu rajouter un traitement en plus si c'était inutile.
Il faudra déjà du temps pour tout traiter...
Rajoute toi-même ou demande si besoin
Je me suis amusé avec ton fichier. Mais comme dit Patrice, 270 Mo il risque d'exploser en plein vol.
Tu n'as plus à construire le dico, je le construis au fur et à mesure. Les n° ne reprennent donc pas à 0 à chaque champ.
J'ai réduit ton fichier à 168ko en supprimant les lignes vides (des fois un million...)
Ce qui est amusant c'est qu'il est passé à 181ko après traitement. La feuille dico sans doute
Reste à voir ce que ça donnera sur le vrai.
Tu as une constante shExclu et la définition des colonnes de S à AC à traiter à fixer dans le code avant.
https://mon-partage.fr/f/MDUxftAh/
eric
PS : je tiens compte de la casse. Je n'ai pas voulu rajouter un traitement en plus si c'était inutile.
Il faudra déjà du temps pour tout traiter...
Rajoute toi-même ou demande si besoin
Bonjour! merci bcp! j'espère que ça vous a un peu amusé en effet :p ! je regarde ça de suite et je vous répond après ou demain après avoir tout bien compris!
Aussi, comment avez vous fait pour supprimer les lignes vides ? C'est quelque chose que j'aimerais faire sur bcp d'autres fichiers, ça semble très utile! pour alléger, c'est la meilleure option ?
Aussi, comment avez vous fait pour supprimer les lignes vides ? C'est quelque chose que j'aimerais faire sur bcp d'autres fichiers, ça semble très utile! pour alléger, c'est la meilleure option ?
Tu fais Ctrl+Fin pour voir la dernière cellule.
Tu supprimes lignes et colonnes inutiles, Enregistrer
Ben c'est la meilleure option si c'est la cause de l'embonpoint oui, sinon non.
Tu peux aussi l'enregistrer en xlsb. Il prendra toujours autant de place en mémoire, mais moins sur le disque. Toujours du temps de gagné à l'ouverture et à l'enregistrement
eric
Tu supprimes lignes et colonnes inutiles, Enregistrer
Ben c'est la meilleure option si c'est la cause de l'embonpoint oui, sinon non.
Tu peux aussi l'enregistrer en xlsb. Il prendra toujours autant de place en mémoire, mais moins sur le disque. Toujours du temps de gagné à l'ouverture et à l'enregistrement
eric
bonjour tt le monde
une petite astuce pour supprimer les lignes vides colonne A ou autre suivant la feuille
une petite astuce pour supprimer les lignes vides colonne A ou autre suivant la feuille
Sub Supprimer_si_vide()
Dim Ligne As Long
On Error Resume Next
Ligne = Columns("A").Find("*", , , , , xlPrevious).Row
Range("A2:A" & Ligne).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub