Excel incrémenter la dernier ligne tableau

Fermé
delphina - 12 nov. 2009 à 17:05
 delphina - 15 nov. 2009 à 00:33
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

Exactement eric,

Le tableau est au début de la page.

Peux-tu faire une chose pour ce PB?
1
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
13 nov. 2009 à 19:41
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 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
12 nov. 2009 à 21:46
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
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 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
13 nov. 2009 à 16:41
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
Voila mon tableau

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

Merci de votre solution.
0
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
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 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
14 nov. 2009 à 10:26
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
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 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
14 nov. 2009 à 15:29
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
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 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
14 nov. 2009 à 22:57
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
merci pour t'as réponse.

Bonne soirée
0