Faciliter la macro
xszma
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Ci-dessous il y a un bout de macro qui a été enregistré il y a fort longtemps sans code vb et pas par moi-même, comment réussir à rendre ce code plus propre et plus simple.
Cela m'as l'air redondant et surtout casse-gueule.
Merci de vos réponses et bonne journée à vous !
Voila le bout en question :
Ci-dessous il y a un bout de macro qui a été enregistré il y a fort longtemps sans code vb et pas par moi-même, comment réussir à rendre ce code plus propre et plus simple.
Cela m'as l'air redondant et surtout casse-gueule.
Merci de vos réponses et bonne journée à vous !
Voila le bout en question :
Columns("R:T").Select Selection.Delete Shift:=xlToLeft Columns("D:D").Select Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft Columns("H:H").Select Selection.Delete Shift:=xlToLeft Columns("G:G").Select Selection.Delete Shift:=xlToLeft Columns("H:H").Select Selection.Delete Shift:=xlToLeft Columns("J:J").Select Selection.Delete Shift:=xlToLeft Columns("J:K").Select Selection.Delete Shift:=xlToLeft Columns("K:K").Select Selection.Delete Shift:=xlToLeft Columns("M:M").Select Selection.Delete Shift:=xlToLeft Columns("N:P").Select Selection.Delete Shift:=xlToLeft Columns("O:Q").Select Selection.Delete Shift:=xlToLeft Columns("T:T").Select Selection.Copy Range("ax1").Select ActiveSheet.Paste Columns("R:R").Select Selection.Copy Range("ay1").Select ActiveSheet.Paste Columns("R:U").Select Selection.Delete Shift:=xlToLeft Columns("S:Z").Select Selection.Delete Shift:=xlToLeft Columns("T:U").Select Selection.Delete Shift:=xlToLeft Columns("X:Z").Select Selection.Delete Shift:=xlToLeft Columns("Z:AE").Select Selection.Delete Shift:=xlToLeft Columns("D:D").Select Selection.Cut Columns("A:A").Select Selection.Insert Shift:=xlToRight Columns("S:S").Select Selection.Cut Columns("B:B").Select Selection.Insert Shift:=xlToRight Columns("H:H").Select Selection.Cut Columns("C:C").Select Selection.Insert Shift:=xlToRight Columns("G:H").Select Selection.Cut Columns("D:D").Select Selection.Insert Shift:=xlToRight Columns("I:J").Select Selection.Cut Columns("F:F").Select Selection.Insert Shift:=xlToRight Columns("K:K").Select Selection.Cut Columns("H:H").Select Selection.Insert Shift:=xlToRight Columns("L:L").Select Selection.Cut Columns("K:K").Select Selection.Insert Shift:=xlToRight Columns("Q:R").Select Selection.Cut Columns("M:M").Select Selection.Insert Shift:=xlToRight Columns("S:S").Select Selection.Cut Columns("P:P").Select Selection.Insert Shift:=xlToRight Columns("W:Z").Select Selection.Cut Columns("R:R").Select Selection.Insert Shift:=xlToRight Range("A1").Select
A voir également:
- Faciliter la macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
2 réponses
Bonjour,
commence par remplacer:
par
pareil pour la suite
Voilà
commence par remplacer:
Columns("R:T").Select Selection.Delete Shift:=xlToLeft
par
Columns("R:T").Delete Shift:=xlToLeft
pareil pour la suite
Voilà
Bonjour, quand je fait cela, j'ai pas le bon résultat escompté
Tu aurais pas une idée en VBA pou recommencer tout mon code et dans ce dernier sélectionner que les colonnes que je veux pour éviter de supprimer comme ça par la suite ?
Car au départ j'ai un tableau avec de nombreuses colonnes avec des infos inutiles et pas dans le bon ordre pour qu'au final j'arrive sur un tableau avec peu de colonnes, le bon ordre des colonnes!
Merci !
Tu aurais pas une idée en VBA pou recommencer tout mon code et dans ce dernier sélectionner que les colonnes que je veux pour éviter de supprimer comme ça par la suite ?
Car au départ j'ai un tableau avec de nombreuses colonnes avec des infos inutiles et pas dans le bon ordre pour qu'au final j'arrive sur un tableau avec peu de colonnes, le bon ordre des colonnes!
Merci !
Oui je l'ai mais j'aimerai faire sans pour optimiser mon code.
C'est une extraction de SAP que je fait dans un premier temps puis ensuite je copie colle tout cela sur une feuille Excel, mais toutes les colonnes que j'extrait ne m'intéresse pas, j'aimerai en supprimer certaines (comme cela est fait plus haut avec l'enregistreur de macro) OU pouvoir sélectionner que ce que je souhaite de base sans avoir a supprimer après! Avez-vous compris ce que je souhaite ?
C'est une extraction de SAP que je fait dans un premier temps puis ensuite je copie colle tout cela sur une feuille Excel, mais toutes les colonnes que j'extrait ne m'intéresse pas, j'aimerai en supprimer certaines (comme cela est fait plus haut avec l'enregistreur de macro) OU pouvoir sélectionner que ce que je souhaite de base sans avoir a supprimer après! Avez-vous compris ce que je souhaite ?
comme ceci:
Voilà
Option Explicit Private Sub CommandButton1_Click() Dim resultat As String resultat = InputBox("Quelle colonne voulez-vous supprimer?", "Suppression colonne", "A") 'La variable reçoit la valeur entrée dans l'InputBox If resultat <> "" Then 'Si la valeur est différente de "" on affiche le résultat Columns(resultat & ":" & resultat).Delete Shift:=xlToLeft End If End Sub
Voilà