Rechercher : dans
Par :

Excel incrémenter la dernier ligne tableau

Dernière réponse le 15 nov 2009 à 00:33:44 delphina, le 12 nov 2009 à 17:05:59 
 Signaler ce message aux modérateurs

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 !

Configuration: Windows XP Internet Explorer 7.0

1

eriiic, le 12 nov 2009 à 21:46:54

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

Répondre à eriiic

2

delphina, le 13 nov 2009 à 14:09:27

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.

Répondre à delphina

3

eriiic, le 13 nov 2009 à 16:41:03

Re,

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

Répondre à eriiic

4

delphina, le 13 nov 2009 à 17:55:15

Exactement eric,

Le tableau est au début de la page.

Peux-tu faire une chose pour ce PB?

Répondre à delphina

5

delphina, le 13 nov 2009 à 19:39:06

Voila mon tableau

http://cjoint.com/?lntLW05jR6

Merci de votre solution.

Répondre à delphina

6

eriiic, le 13 nov 2009 à 19:41:50

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

Répondre à eriiic

7

delphina, le 14 nov 2009 à 09:40:30

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

Répondre à delphina

8

delphina, le 14 nov 2009 à 10:10:22

Eric,

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



http://cjoint.com/?lokjx7zPve



MERCI d'AVANCE

Répondre à delphina

9

eriiic, le 14 nov 2009 à 10:26:33

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

Répondre à eriiic

10

delphina, le 14 nov 2009 à 11:12:56

Bonjour,

Voila le fichier modifié.

http://cjoint.com/?loll2dNEdh

Je sais que je suis chiante.lol


Merci d'avance.

Répondre à delphina

11

eriiic, le 14 nov 2009 à 15:29:04

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

Répondre à eriiic

12

delphina, le 14 nov 2009 à 22:10:26

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

Répondre à delphina

13

eriiic, le 14 nov 2009 à 22:57:06

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

Répondre à eriiic

14

 delphina, le 15 nov 2009 à 00:33:44

Merci pour t'as réponse.

Bonne soirée

Répondre à delphina
Collection CommentÇaMarche.net