Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro insertion de colonne

  • Initiateur de la discussion Initiateur de la discussion xade
  • 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 !

X

xade

Guest
Bonjour,

je souhaiterais avoir une macro qui insère une colonne, et donne une valeur définie pour chaque cellule (ici la valeur entière de la cellule sur la colonne suivante/100).

Je débute en VBA donc je sais faire la macro via l'enregistreur de macro, et cela marche très bien. Mais si le nombre de lignes de ma base de données change, alors soit il me manque des valeurs, ou soit j'en ai en trop.

A la limite, ce qui serait parfait c'est la colonne qui s'insère soit sur la gauche (donc colonne -1) de ma cellule active.

Je joins un fichier exemple en espèrant être clair.

Merci d'avance pour toute aide
 

Pièces jointes

Re : Macro insertion de colonne

Bonjour,

J’ai ajouté la détermination du numéro de la dernière ligne renseignée en colonne A.
Code:
Sub InsereColonne()
Dim DerLigne As Long
    With Worksheets("Feuil1")
        DerLigne = .Range("A" & .Rows.Count).End(xlUp).Row
        .Columns("A:A").Insert Shift:=xlToRight
        .Range("A1") = "Famille"
        .Range("A2").Formula = "=INT($B2/100)"
        .Range("A2").AutoFill Destination:=.Range("A2:A" & DerLigne)
    End With
    Set Plage = Nothing
End Sub

A+
 
Re : Macro insertion de colonne

Bonjour Frangy,

merci cela fonctionne très bien. Y-a-t'il moyen de pousser le code pour que cela marche avec n'importe quelle colonne? Par exemple, je clic en D2, donc je souhaite que la colonne avec le calcul s'insère en C. Dans le même esprit, il faudrait que ce code fonctionne quelque que soit le nom de la feuille.

Merci
 
Re : Macro insertion de colonne

Dans l’exemple suivant, l’insertion s’effectue par rapport à la feuille active et la colonne de la cellule active.
Code:
Sub InsereColonne()
Dim DerLigne As Long
Dim Colonne As String
    With ActiveSheet
        Colonne = Split(ActiveCell.Offset(0, 1).Address, "$")(1)
        ActiveCell.EntireColumn.Insert Shift:=xlToRight
        DerLigne = .Range(Colonne & .Rows.Count).End(xlUp).Row
        .Cells(1, ActiveCell.Column) = "Famille"
        .Cells(2, ActiveCell.Column).Formula = "=INT(" & Colonne & "2/100)"
        .Cells(2, ActiveCell.Column).AutoFill Destination:=.Range(Cells(2, ActiveCell.Column), .Cells(DerLigne, ActiveCell.Column))
    End With
    Set Plage = Nothing
End Sub

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

  • Question Question
XL 2021 Macro
Réponses
6
Affichages
312
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…