Excel incrémenter la dernier ligne tableau

delphina -  
 delphina -
Bonjour,

Comment faire une macro sur Excel qui incrémente automatiquement une nouvelle ligne en fin de tableau ?

Voici mon problème, sous Excel, j'ai un premier tableau avec 5 colonnes et 10 lignes.
le tableau est constitué comme suivant:
1ere colonne: je tappe un N° de 1 à 1000.
2eme colonne j'ai mis la formule suivante: RECHERCHEV(a2;feuil3;2;FAUX) c-a-d il cherche la valeur dans la 1ere colonne dans la fuille 3 puis il me mis les donner équivalente.
3eme colonne c'est le prix unitaire
4eme colonne c'est la qunatité.
5 eme colonne c'est le prix total.

Je veux en appuyant sur un bouton du tableau, déclencher une macro qui va me rajouter une ligne sur le même tableau. Cette nouvelle ligne sera automatiquement en fin de tableau et comportera des valeurs et des formules de la ligne précedente.

J'espère avoir été assez clair ... Merci de vos réponses ;o !
A voir également:

14 réponses

delphina
 
Exactement eric,

Le tableau est au début de la page.

Peux-tu faire une chose pour ce PB?
1
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
essaie avec :
Sub ajoutLigne()
    [D14].End(xlDown).Offset(0, -1).Resize(1, 5).Select
    Selection.Copy
    Selection.Offset(1, 0).Insert Shift:=xlDown
    Selection.Offset(1, 0).Resize(1, 1).Select
    Selection.ClearContents
End Sub

Je me base sur la 2nde colonne qui normalement doit toujours avoir une formule. Ca permettra d'insérer plusieurs lignes même s'il n'y a pas de saisie en 1ère colonne (la C)
eric
1
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonsoir,

Ce n'est pas le plus dur à faire sans macro :
Tu sélectionnes A10:E10 (ou B10:E10 si tu ne veux pas copier la 1ère valeur),
et tu fais un cliqué-glissé sur le petit carré noir (en bas à droite de ta sélection) en tirant vers le bas.
Tu relache quand tu as assez de lignes...

Si tu veux vraiment un code :
Sub ajoutLigne()
    derlig = [B65536].End(xlUp).Row
    Range(Cells(derlig, 2), Cells(derlig, 5)).AutoFill Destination:=Range(Cells(derlig, 2), Cells(derlig + 1, 5)), Type:=xlFillDefault
    Cells(derlig + 1, 1).Select
End Sub

Ca ne recopie que les formules en colonnes B:E et ça amène le curseur en colonne A

eric
0
delphina
 
Merci eric pour les infos.
désolé de ne pas répondre a votre mail aussi top, je suis tres occupée, je viens de vois le code, c'est impécable mais mon tableau ne se trouve pas a la fin de ma feuille c-a-d

exemple:

Réf Libellé Quantité P.U. P.H.T.
1000 Dépose et repose de plaque 1 30.00 € 30.00 €
1500 Câble 5x2,5 1 6.04 € 6.04 €
1250 Câble 5x2,5 1 6.04 € 6.04 €

mon tableau se situé entre les celulles C14 et G16.
en dessous du tableau se trouve un texte...
il me faut dés qu'il faut ajouté plus de ligne, dons j'appuie sur le boutton de commande pour incrémenté une ligne.
Voila M. ERIC, pouvez vous m'aidez SVP
Merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Re,

en clair tu veux insérer une ligne (pour faire descendre le tableau qui est en dessous) en plus de copier les formules ?
0
delphina
 
Voila mon tableau

https://www.cjoint.com/?lntLW05jR6

Merci de votre solution.
0
delphina
 
Merci eric pour tes info,

mais comme je ss débutante en vba, où je peux insérer ce code, je ne pense pas que le boutton va fonctionner?

merci
0
delphina
 
Eric,

peux tu regarder,STP, ce ligne et me donner ton avis?



https://www.cjoint.com/?lokjx7zPve



MERCI d'AVANCE
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

Ca ne marche pas parce que ta feuille ne correspond pas à ta description.
Une des raison c'est la fusion de cellules qu'il faut absolument éviter (et pas seulement pour le vba).
Et ça tombe bien, sur ta feuille c'est totalement inutile. Refais déjà ta feuille dans ce sens, on adaptera la macro ensuite.
eric
0
delphina
 
Bonjour,

Voila le fichier modifié.

https://www.cjoint.com/?loll2dNEdh

Je sais que je suis chiante.lol


Merci d'avance.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Re,

Tu as encore changé la mise en page de ton fichier (toutes les lignes n'ont plus la même hauteur) ce qui oblige à insérer une ligne complète au lieu de qcq cellules.
dans ta formule RECHERCHEV(C16;BPU!A2:D275;2;FAUX) il faut fixer ta plage avec des $ et écrire RECHERCHEV(C16;BPU!$A$2:$D$275;2;FAUX)
sinon lorsque tu recopies vers le bas elle devient A3:D276 etc.
J'ai décalé 'Libellé' de E15 en D15 car il fallait une saisie dans cette cellule. Laisse le là...
delphina.xls

eric
0
delphina
 
Bonsoir,

merci pour ton coup de main, reste juste un petit souci , quand j'incrémente mon tableau, tout se passe bien sauf la somme, il ne tient pas en compte la ligne incrémenter. peux tu faire un petit effort.

MERCI eric
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonsoir,

Effectivement, tu peux ajouter cette ligne alors :
[D15].End(xlDown).Offset(1, 5).Formula = "=SUM(I16:I" & [D15].End(xlDown).Row & ")"


Par contre, comme tu as voulu ajouter des macros, garde bien en tête que tu ne pourras plus ajouter/supprimer des lignes ou colonnes n'importe comment. Parfois il faudra adapter la macro même si elle n'est pas en cause directement...
Par exemple la colonne F qui ne sert à rien tu ne peux plus la supprimer, en colonne D la cellule sur la ligne de 'Total H.T. (1)' doit toujours être vide, etc.
eric
0
delphina
 
merci pour t'as réponse.

Bonne soirée
0