Pb suppresion colonne

barth66

XLDnaute Junior
Bonjour,

voila en fait j'ai un probleme avec une macro je souhaiterai supprimé des colonnes d'un fichier mais lorsque j'enregistre une macro et que je la relance elle me supprime toutes les colonnes je ne comprends pas d'ou cela peut venir. Certaines colonnes sont fusionnées mais je ne pense pas que cela est un impact etant donné que lorsque j'enregistre la macro cela fonctionne trés bien.

Voici le code

Columns("F:F").Select
Selection.Delete Shift:=xlToLeft
Columns("K:K").Select
Selection.Delete Shift:=xlToLeft
Columns("G:G").Select
Selection.Delete Shift:=xlToLeft
Sheets.Add After:=Sheets(Sheets.Count)
Sheets("Extraction par Succ_Référence").Select

Et le fichier joint.

Merci beaucoup pour votre aide.
 

Pièces jointes

  • Stock_Liste_MGN fin mars - Copie.xlsx
    770.3 KB · Affichages: 38

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Pb suppresion colonne

Bonjour à tous,

avec ce code:
Code:
Sub suppcolonne()
Columns("K:K").Select
Selection.Delete Shift:=xlToLeft
Columns("G:G").Select
Selection.Delete Shift:=xlToLeft
Columns("F:F").Select
Selection.Delete Shift:=xlToLeft
Sheets.Add After:=Sheets(Sheets.Count)
Sheets("Extraction par Succ_Référence").Select
End Sub
remarque: il faut supprimer les colonnes F,G,K en commençant par celle qui se trouve le plus à droite:
d'abord la colonne K, ensuite G et enfin F

Certaines colonnes sont fusionnées mais je ne pense pas que cela est un impact...........
et pourtant c'est bien à cause de cela que ça ne fonctionne pas correctement.
les fusions de cellules sont souvent source de problèmes et sont donc à éviter

L'exemple de code donné ci-dessus fonctionne correctement à condition de ne pas avoir de cellules fusionnées

à+
Philippe
 

Jacou

XLDnaute Impliqué
Re : Pb suppresion colonne

Bonjour Barth66, Bonjour le Forum

Cela provient effectivement de la présence de cellules fusionnées.
lorsque tu exécutes "Columns("F:F").Select" tu sélectionnes en fait l'ensemble des colonnes B à L et donc tu les effaces avec ta première instruction "Selection.Delete Shift:=xlToLeft "

Pour pallier cet inconvénient, je te propose de remplacer ton code par :

Range("F1").EntireColumn.Delete 'il est inutile de sélectionner pour supprimer.
Range("K1").EntireColumn.Delete
Range("G1").EntireColumn.Delete

Sheets.Add After:=Sheets(Sheets.Count)
Sheets("Extraction par Succ_Référence").Select

effectivement il vaut mieux commencer par les colonnes les plus à droite. car avec ton code et celui que je viens de mettre plus haut, quand tu fais "
Range("K1").EntireColumn.Delete", c'est en fait la colonne L d'origine que tu supprimes

Bon fin de journée

 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
591

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 501
dernier inscrit
talebafia