Insérer une ligne après une ligne active avec macro

Résolu/Fermé
JayP - 3 févr. 2016 à 11:56
JayP1 Messages postés 4 Date d'inscription mercredi 3 février 2016 Statut Membre Dernière intervention 5 novembre 2016 - 4 févr. 2016 à 10:09
Bonjour,
j'ai un soucis, je connais pas grand chose sur les macros, je m'explique :
Je réalise un outil d'édition de facture et devis,je souhaite faire une macro, lorsqu'on clique sur un bouton associé à la macro, on a une nouvelle ligne après la ligne active. exemple:
si la ligne active est A43:AMJ43, si je clique sur le bouton ajouter, je souhaite avoir une nouvelle ligne à A44:AMJ44 avec les formules qui se mettent à jour en fonction des formules qui sont dans les lignes précédentes , ainsi de suite à chaque clic.


A voir également:

2 réponses

Arkana0 Messages postés 6365 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023 181
Modifié par Arkana0 le 3/02/2016 à 11:59
Bonjour,

Je dispose d'une macro faisant grosso-modo ce que tu souhaites.
Mets ton fichier à disposition et je verrai si je peux l'adapter
0
JayP1 Messages postés 4 Date d'inscription mercredi 3 février 2016 Statut Membre Dernière intervention 5 novembre 2016
3 févr. 2016 à 13:57
Bonjour Arkana,
je n'arrive pas à charger mon fichier sur le forum, parce que c'est la première fois ! je peux vous mettre une capture d'écran peut être vous aller comprendre ;


Merci d'avance
0
Arkana0 Messages postés 6365 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023 181
3 févr. 2016 à 14:28
C'est normal, il faut passer par un site d'hébergement extérieur au forum, puis donner le lien pour qu'on puisse récupérer le fichier.
La capture d'écran fera tout aussi bien l'affaire.
L'idée est donc de cliquer sur le bouton avec un + pour créer une nouvelle ligne. Celle-ci sera-t-elle toujours après les lignes déjà existantes, ou bien faut-il qu'elle puisse s'insérer sous la ligne sélectionnée ?
Le code vba dont je dispose est plutôt calibré pour la première option et utilise une cellule excel exactement comme s'il s'agissait d'un bouton. Mais ça peut être modifié sans trop de problème.
0
JayP1 Messages postés 4 Date d'inscription mercredi 3 février 2016 Statut Membre Dernière intervention 5 novembre 2016
3 févr. 2016 à 14:41
C'est justement la première option dont je souhaite; faire une nouvelle ligne qui sera rajoutée après les lignes déjà existantes; à chaque clic sur le petit bouton +,une nouvelle ligne se crée à la fin de la dernière ligne du tableau et doit contenir les même propriétés que les lignes précédentes (des formules)

merci;
0
Arkana0 Messages postés 6365 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023 181
Modifié par Arkana0 le 3/02/2016 à 16:48
J'avoue galérer un peu avec le bouton.

Ce que je te propose, c'est qu'à la place de celui-ci tu renseignes "Ajouter ligne" dans la cellule (sur ton exemple, en A44).

Ensuite, tu vas dans l'onglet "développeur", puis tu cliques sur "Visual basic".
Dans la liste en haut à gauche tu développes "VBAProject(Le nom de ton classeur)", puis "Microsoft Excel Objets.

Tu doubles cliques sur la feuille qui correspond à celle où tu renseignes ton devis

Dans la partie à droite, tu copies le code suivant :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If ActiveCell.Value = "Ajouter ligne" Then 'Il faut que le texte corresponde à celui de la cellule sur laquelle on double-clique

Selection.EntireRow.Insert
ActiveCell.Offset(0, 4).FormulaLocal = "C" & ActiveCell.Row & "*D" & ActiveCell.Row

Exit Sub

End If

End Sub

J'ai renseigné la seule formule que je pouvais deviner. Si tes prix sont obtenus par une autre formule, il faudra ajouter une ligne sur le même modèle que
ActiveCell.Offset(0, 4).FormulaLocal = "C" & ActiveCell.Row & "*D" & ActiveCell.Row
0
yclik Messages postés 3713 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 19 décembre 2024 1 521
3 févr. 2016 à 17:00
Bonjour
la macro de Arkan0 et en VB pour excel.
A priori on est sous open office et le VB ne passera pas.
Voir là pour une macro ressemblante
0
Arkana0 Messages postés 6365 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023 181 > yclik Messages postés 3713 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 19 décembre 2024
3 févr. 2016 à 17:02
Ah mince, je n'ai pas regardé la catégorie... Au temps pour moi :/
0