Copier formules en insérant une colonne

Bonjour le forum,

Je veux insérer une colonne dans mon tableau mais la dernière ligne contient une formule et je ne sais pas comment faire pour la copier automatiquement.

Voici mon code :

Static Sub inserer_une_colonne()

Application.ScreenUpdating = False
Range("a9").End(xlToRight).Columns.Select
Selection.ListObject.ListColumns.Add
Application.ScreenUpdating = True

End Sub

Que faut il que je rajoute ?

Amarayllis

Bonjour,

essaye ceci :

Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count) = Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count).offset(0,-1)

Bonjour Isa039,

j'ai essayé et ça ne fonctionne pas

Ah oui pardon, ça copie la valeur.

Avec ça ce sera mieux :

Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count).FillRight

En fait par défaut il va me mettre un SOUS TOTAL , alors que la formule qui se trouve dans la dernière ligne de la colonne est SOMME SI . Même avec le dernier code que tu a écris cela ne change pas :/

Ma ligne de code copie exactement ce qui est à gauche de la cellule active.

C'est l'équivalent du Ctrl + D ou du glisser avec la souris.

Envoi un fichier pour comprendre.

10classeur.xlsm (104.88 Ko)

Ok c'est un tableau mis en forme.

Range("A9").End(xlToRight).End(xlDown).FillRight

Oui c'est vrai j'aurais dû le préciser ..

ça marche niquel merci !!

Juste un petit problème, du coup la sélection des plages ne bouge pas ? Car ce que je veux c'est prendre la première colonne comme première plage de données, et en seconde plage la nouvelle colonne insérée.

Je ne comprends pas pourquoi tu parles de sélection.

Que veux tu faire ?

Si je le formule en fonction de mon code , je voudrais que dans la nouvelle case total de ma nouvelle colonne il y ait :

=SOMME.SI(["colonne 1"];[Métrique2])

Or, en copiant la formule de la colonne d'à côté, j'ai :

=SOMME.SI(["colonne 1"];[Métrique1])

Tu vois ce que je veux dire?

Oui je crois avoir compris.

C'est l’utilisation du tableau mis en forme qui fait ça.

Du coup la solution que je vois c'est d'écrire la formule avec la macro :

    Range("A9").End(xlToRight).End(xlDown).Formula = "=SUMIF([""""],[" & Range("A9").End(xlToRight).Value & "])"

Super !! Merci pour ton aide

Rechercher des sujets similaires à "copier formules inserant colonne"