XL 2016 Copie format

Panda-Micha

XLDnaute Nouveau
Bonjour à tous,

Que je suis heureux d'avoir déniché ce forum ! J'espère que vous allez pouvoir m'aider parce que la je m'arrache ce qu'il me reste de cheveux...

Je suis en train de créer un inventaire du stockage de matériel médical dans mon association, avec d'une part une liste complète de l'inventaire, d'autre un journal des entrées et sorties. Tout cela avance plutôt bien si ce n'est un foutu bouton pour ajouter une nouvelle ligne à mes tableaux.

Le but du bouton est d'identifier la première ligne vide de la colonne A, et ensuite d'y copier les formules et la mise en forme de la ligne juste au dessus, mais sans copier le contenu qui ne résulte pas d'une formule.

J'ai creusé un peu sur le net, mais je suis une bille en VBA et je n'y comprends pas grand-chose. Voici ce que j'ai pour l'instant :

VB:
Sub Nouvelle_reception()

Range("A3340").Select
    Selection.End(xlUp).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub

Question 1/ Quand je lance la macro, j'ai une erreur 1004 "Le déplacement de cellules dans un tableau de votre feuille de calcul n'est pas autorisé." Pourquoi ?

Question 2/ Comment recopier également les formats et formules des cellules qui sont en colonne B à G et pas seulement en A ?

Un grand merci pour votre aide !
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

Panda-Micha [Bienvenue sur le forum]

Question 3/ Est-ce l'ajout d'un fichier exemple fourni par le demandeur aiderait à la résolution de sa question?

Je serai personnellement tenté de répondre oui ;)
(comme me l'a jadis appris la charte du forum)
 

eriiic

XLDnaute Barbatruc
Bonjour,

si tu as une version pas trop ancienne d'excel sélectionne ton tableau et 'Insertion / Tableau'
Normalement une saisie sur la 1ère ligne vide en-dessous te copiera formules et formats.
Si ça ne le fait pas reprend ton tableau avec juste les titres et 1 ligne, teste, et remet tes données.
eric
 

Dranreb

XLDnaute Barbatruc
Pour ne pas être obligé de se positionner manuellement sur la ligne en dessous, il devrait être possible de faire :
VB:
Sub Nouvelle_reception()
Application.GoTo ActiveSheet.ListObjects(1).ListRows.Add.Range.Columns(1)
End Sub
(C'est long, d'accord, mais c'est encore plus long à décrire :
Sélectionne la cellule de la 1ère colonne de la plage couverte par une nouvelle ligne ajoutée au 1ere tableau de la feuille active.)
 
Dernière édition:

Discussions similaires

Réponses
24
Affichages
335
Réponses
7
Affichages
162

Statistiques des forums

Discussions
311 711
Messages
2 081 799
Membres
101 818
dernier inscrit
tiftouf5757