Insertion d'un ensemble de colonne

  • Initiateur de la discussion Initiateur de la discussion marti018
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

marti018

Guest
Bonjour, je débute en Vb toute aide est la bienvenue...
avant toute chose merci aux administrateurs et aux participants au forum qui ont toujours faim de probleme (le mien va vous paraitre banal)

mon petit problème: sur ma feuille j'ai un tableau, aprés la dernière colonne du tableau, une colonne libre, vide de toute mise en forme, puis à nouveau un tableau dans lequel je fais les totaux du tableau précédent..je n'ai pas forcément des données dans chacune des colonnes alors j'ai pensé à me servir de la ligne de titre de mon premier tableau pour déterminer le nombre de colonnes utilisées jusqu'à présent et donc l'endroit ou je pourrai insérer mes colonnes.. l'idée par la suite c'est de mettre un boutton sur la feuille pour rajouter des colonnes à volonté ( sans oublier de fusionner la ligne de titre pour qu'elle puisse à nouveau servir de repère)
bon mon code est le suivant:

Sub InsertColonne()
Dim ladernièrecolonne As Integer
ladernièrecolonne = Columns("C").End(xlToRight)
Columns("C:E").Select.Copy
Columns("ladernèrecolonne:ladernièrecolonne").Select
Selection.Insert Shift:=xlToRight
End Sub

Evidement cela ne marche pas😱
je débute en vb peut etre que je me suis compliqué la tache et ma démarche est un peu tarabiscotée😉

merci d'avance
 
Re : Insertion d'un ensemble de colonne

Salut marti018,

Pas sur d'avoir tout saisit, notamment ton histoire de cellule fusionnées, mais je tente ma chance avec la modif suivante :
PHP:
Sub InsertColonne()
Dim ladernièrecolonne As Integer
ladernièrecolonne = Columns("C").End(xlToRight)
Columns(ladernièrecolonne + 1).Select
Selection.Insert Shift:=xlToRight
End Sub

Si ce code ne fonctionne pas comme tu le souhaites, mets nous un exemple de ton fichier en pièce jointe,

@+
 
Re : Insertion d'un ensemble de colonne

re,

Ca fait un peu bricolage, mais ca fonctionne :
PHP:
Sub InsertColonne()
Dim ladernièrecolonne As Integer
With Sheets("Feuil1")
    ladernièrecolonne = .Range("A10").End(xlToRight).Column
    .Range("C5:AO5").MergeCells = False
    .Range(Cells(1, ladernièrecolonne - 2), Cells(65536, ladernièrecolonne)).Copy
    .Cells(1, ladernièrecolonne - 2).Insert Shift:=xlToRight
End With
End Sub

@+
 
Re : Insertion d'un ensemble de colonne

Moua perso je trouve pas que cela fasse bricolage CA MARCHE!!!
youpi !! super merci pour ton aide je vais tenter de décortiquer ça pour comprendre comment ça marche...merci pour tout😀 😀 😀 😀
 
Re : Insertion d'un ensemble de colonne

re,

Quand je te disais que c'etait du bricolage !!!
Je suis allé un peu vite et j'ai oublier quelques trucs, doc je t'ai modifier la macro pour qu'elle fonctionne parfaitement (je t'ai mis en plus quelques commentaires) :
PHP:
Sub InsertColonne()
Dim ladernièrecolonne As Integer
'pour la feuille nommée Feuil1
With Sheets("Feuil1")
    'il y a un With, c'est pout ca qu'il y a un . avant les codes suivants
    'je cherche la dernière colonne non vide en partant de A10 et en allant vers la droite
    ladernièrecolonne = .Range("A10").End(xlToRight).Column
    'je defusionne la cellule de titre (modif ici aussi)
    .Range(Cells(5, 3), Cells(5, .Range("A10").End(xlToRight).Column)).MergeCells = False
    'je copie les 3 colonnes qui nous interesse
    .Range(Cells(1, ladernièrecolonne - 2), Cells(65536, ladernièrecolonne)).Copy
    'je les insères a la fin du tableau (modif ici aussi)
    .Cells(1, ladernièrecolonne + 1).Insert Shift:=xlToRight
    'j'ai rajouté cette ligne pour refusionner tes cellules contenant le titre
    .Range(Cells(5, 3), Cells(5, .Range("A10").End(xlToRight).Column)).MergeCells = True
End With
End Sub

@+
 
Re : Insertion d'un ensemble de colonne

je comprends mieux pourquoi ce que je faisais echouait, je laissais le titre fusionné du coup le programme me copiait l'ensemble de de la zone sous le titre, je me retrouvais alors avec un double de l'ensemble du tableau..

oki j'ai compris merci beaucoup pour l'explication...

a++
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

T
Réponses
2
Affichages
1 K
Tava94
T
D
Réponses
4
Affichages
1 K
Réponses
8
Affichages
1 K
Retour