Macro avec suppression de colonne
Résolu
PONCIUS PILATUS
Messages postés
5
Statut
Membre
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à toutes et à tous,
Mon niveau en macro excel est archi nul.
Je souhaite régler deux problème différents dans un fichier Excel.
1/ Je dois rechercher et remplacer une vingtaine de nom différents par une autre vingtaine de noms différents.
Aujourd'hui, je le fais manuellement. Je m'amuse beaucoup ! :)
2/ Ensuite, je dois faire les opérations suivantes dans l'ordre:
- enlever la fonction filtre
- supprimer une série de colonnes qui ne me serve à rien
- supprimer la deuxième ligne qui ne me sert à rien
- créer une nouvelle colonne à la fin du tableau restant
- appliquer une RECHERCHEV dans celle ci qui s'appuit sur base qui est dans un autre fichier Excel.
Je vous le dis, je m'amuse beaucoup!!!
Si quelqu'un veux s'amuser avec moi, c'est avec plaisir !
Mon niveau en macro excel est archi nul.
Je souhaite régler deux problème différents dans un fichier Excel.
1/ Je dois rechercher et remplacer une vingtaine de nom différents par une autre vingtaine de noms différents.
Aujourd'hui, je le fais manuellement. Je m'amuse beaucoup ! :)
2/ Ensuite, je dois faire les opérations suivantes dans l'ordre:
- enlever la fonction filtre
- supprimer une série de colonnes qui ne me serve à rien
- supprimer la deuxième ligne qui ne me sert à rien
- créer une nouvelle colonne à la fin du tableau restant
- appliquer une RECHERCHEV dans celle ci qui s'appuit sur base qui est dans un autre fichier Excel.
Je vous le dis, je m'amuse beaucoup!!!
Si quelqu'un veux s'amuser avec moi, c'est avec plaisir !
A voir également:
- Macro avec suppression de colonne
- Forcer suppression fichier - Guide
- Déplacer colonne excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Trier colonne excel - Guide
- Colonne word - Guide
10 réponses
Eric, t'es un chef.
C'est le résultat que j'attendais.
Merci beaucoup.
je te donne une adresse poubelle fpelhate@laposte.net.
Envoie moi ton adresse postale afin de te remercier.
Si tu es chez Bouygues, envoie moi ton n° de mobile et les 3 premières lettres de ton nom.
J'en fais mon affaire.
Merci encore
C'est le résultat que j'attendais.
Merci beaucoup.
je te donne une adresse poubelle fpelhate@laposte.net.
Envoie moi ton adresse postale afin de te remercier.
Si tu es chez Bouygues, envoie moi ton n° de mobile et les 3 premières lettres de ton nom.
J'en fais mon affaire.
Merci encore
Re,
Comme je me doutais un peu de la réponse j'ai fait avec.
Menu 'outils / macro / macros...' lancer 'MiseEnPage'
J'ai fait un cas particulier pour les villes commençant par 'LE '. LE CREUSOT => CRE
Par contre tu parlais d'une 20aine de villes, il n'y en a que 11. Ce nombre est-il appelé à varier ?
Cette macro s'execute sur le classeur actif donc tu peux traiter n'importe quel fichier.
et le fichier avec la macro
http://www.cijoint.fr/cij90788726732300.xls
Teste si c'est vraiment ce que tu voulais, on affinera si besoin.
eric
Comme je me doutais un peu de la réponse j'ai fait avec.
Menu 'outils / macro / macros...' lancer 'MiseEnPage'
J'ai fait un cas particulier pour les villes commençant par 'LE '. LE CREUSOT => CRE
Par contre tu parlais d'une 20aine de villes, il n'y en a que 11. Ce nombre est-il appelé à varier ?
Cette macro s'execute sur le classeur actif donc tu peux traiter n'importe quel fichier.
Sub MiseEnPage()
Dim i As Long
Application.ScreenUpdating = False
Cells.MergeCells = False ' supprimer fusion cellules
Selection.AutoFilter ' supprimer filtre
Rows("2:2").Delete Shift:=xlUp 'supp ligne 2
Columns("A:B").Delete Shift:=xlToLeft ' supp colonnes
Columns("C:D").Delete Shift:=xlToLeft 'supp colonnes
' suppression colonnes valorisées
For i = 26 To 4 Step -2
Columns(i).Delete Shift:=xlToLeft
Next i
' traitement villes
For i = 3 To 13
Cells(1, i) = Mid(Cells(1, i), 9)
If Left(Cells(1, i), 3) = "LE " Then
Cells(1, i) = Mid(Cells(1, i), 4)
End If
Cells(1, i) = Left(Cells(1, i), 3)
Columns(i).EntireColumn.AutoFit
Next i
Application.ScreenUpdating = True
End Sub
et le fichier avec la macro
http://www.cijoint.fr/cij90788726732300.xls
Teste si c'est vraiment ce que tu voulais, on affinera si besoin.
eric
Bonsoir,
Je te remercie mais ta satisfaction et tes remerciements me suffisent.... :-)
Peut-être à une prochaine sur un autre pb
Bonne soirée à toi
eric
Je te remercie mais ta satisfaction et tes remerciements me suffisent.... :-)
Peut-être à une prochaine sur un autre pb
Bonne soirée à toi
eric
Bonjour,
1/ Je dois rechercher et remplacer une vingtaine de nom différents par une autre vingtaine de noms différents.
Aujourd'hui, je le fais manuellement. Je m'amuse beaucoup ! :)
EDITION PUIS REMPLACER
2/ Ensuite, je dois faire les opérations suivantes dans l'ordre:
- enlever la fonction filtre
DONNEES PUIS FILTRE "decocher"
- supprimer une série de colonnes qui ne me serve à rien
SELECTION LES COLONNES PUIS CLIC DROIT "supprimer"
- supprimer la deuxième ligne qui ne me sert à rien
SELECTION La LIGNE PUIS CLIC DROIT "supprimer"
- créer une nouvelle colonne à la fin du tableau restant
SELECTION LA COLONNE JUSTE APRES TON TABLEAU PUIS CLIC DROIT "INSERER"
- appliquer une RECHERCHEV dans celle ci qui s'appuit sur base qui est dans un autre fichier Excel.
EXEMPLE:
'=RECHERCHEV(1;calendrier!C7:D23;2;FAUX)
je recherche ce qui est a coté(2colonnes) de 1 sur la page calendrier dans la plage C7:D23
1/ Je dois rechercher et remplacer une vingtaine de nom différents par une autre vingtaine de noms différents.
Aujourd'hui, je le fais manuellement. Je m'amuse beaucoup ! :)
EDITION PUIS REMPLACER
2/ Ensuite, je dois faire les opérations suivantes dans l'ordre:
- enlever la fonction filtre
DONNEES PUIS FILTRE "decocher"
- supprimer une série de colonnes qui ne me serve à rien
SELECTION LES COLONNES PUIS CLIC DROIT "supprimer"
- supprimer la deuxième ligne qui ne me sert à rien
SELECTION La LIGNE PUIS CLIC DROIT "supprimer"
- créer une nouvelle colonne à la fin du tableau restant
SELECTION LA COLONNE JUSTE APRES TON TABLEAU PUIS CLIC DROIT "INSERER"
- appliquer une RECHERCHEV dans celle ci qui s'appuit sur base qui est dans un autre fichier Excel.
EXEMPLE:
'=RECHERCHEV(1;calendrier!C7:D23;2;FAUX)
je recherche ce qui est a coté(2colonnes) de 1 sur la page calendrier dans la plage C7:D23
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
heuuuu, néné, je crois que le monsieur dit que c'est ce qu'il fait actuellement ;-)
et qu'il aimerait bien que ça change...
Il faudrait que tu précises :
1) si c'est le mot dans une cellule ou si le mot fait partie d'une chaine dans une cellule qu'il faut remplacer
Mais une macro ne te fera pas gagner de temps si les mots à remplacer changent à chaque fois.
2) tu évoques un filtre, est-ce que ce remplacement a lieu sur toutes la feuille ou seulement sur les lignes visibles ?
3) quelles colonnes doivent disparaitre et est-ce immédiatement après le remplacement ?
4) Quand au recherchev(), avec tant de précision tu risques de te le coltiner à la main encore...
Et le mieux est que tu déposes en plus un extrait de tes fichiers avant modif sur www.cijoint.com et que tu colles le lien ici
eric
heuuuu, néné, je crois que le monsieur dit que c'est ce qu'il fait actuellement ;-)
et qu'il aimerait bien que ça change...
Il faudrait que tu précises :
1) si c'est le mot dans une cellule ou si le mot fait partie d'une chaine dans une cellule qu'il faut remplacer
Mais une macro ne te fera pas gagner de temps si les mots à remplacer changent à chaque fois.
2) tu évoques un filtre, est-ce que ce remplacement a lieu sur toutes la feuille ou seulement sur les lignes visibles ?
3) quelles colonnes doivent disparaitre et est-ce immédiatement après le remplacement ?
4) Quand au recherchev(), avec tant de précision tu risques de te le coltiner à la main encore...
Et le mieux est que tu déposes en plus un extrait de tes fichiers avant modif sur www.cijoint.com et que tu colles le lien ici
eric
Bonjour Eric,
bien vu, c'est effectivement ce que je fais, tous les jours.
Comme tu me l'a suggérer, voici un lien où tu auras accès au fichier.https://www.hightail.com/
Le but sur ce fichier est d'enlever le filtre
Ensuite supprimer les colonnes N° famille, Famille, PAHT, CUMP, ainsi que les colonnes Valorisé de chaque ville.
Ensuite, supprimer la ligne 2.
et enfin transformer chaque ville par un abréviation simple:
Ex remplacer 0001 CA ARLES par ARL
La même chose pour chaque ville
et enfin formater la largeur des colonnes en automatique
Est-ce automatisable ?
Merci de ton aide Eric.
Fred
bien vu, c'est effectivement ce que je fais, tous les jours.
Comme tu me l'a suggérer, voici un lien où tu auras accès au fichier.https://www.hightail.com/
Le but sur ce fichier est d'enlever le filtre
Ensuite supprimer les colonnes N° famille, Famille, PAHT, CUMP, ainsi que les colonnes Valorisé de chaque ville.
Ensuite, supprimer la ligne 2.
et enfin transformer chaque ville par un abréviation simple:
Ex remplacer 0001 CA ARLES par ARL
La même chose pour chaque ville
et enfin formater la largeur des colonnes en automatique
Est-ce automatisable ?
Merci de ton aide Eric.
Fred
Qu'appeles-tu les colonnes valorisées ? Les colonnes sans titres après chaque ville ?
Et le nombre de ville est-il tjs le même avec tjs les mêmes villes ?
Et le nombre de ville est-il tjs le même avec tjs les mêmes villes ?