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
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
A voir également:
- Insérer une ligne après une ligne active avec macro
- Aller à la ligne excel - Guide
- Partager photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Insérer une vidéo dans powerpoint - Guide
- Apparaitre hors ligne instagram - Guide
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
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
Je dispose d'une macro faisant grosso-modo ce que tu souhaites.
Mets ton fichier à disposition et je verrai si je peux l'adapter
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
3 févr. 2016 à 13:57
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
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.
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.
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
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;
merci;
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
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 :
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
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
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
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
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
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
3 févr. 2016 à 17:02
Ah mince, je n'ai pas regardé la catégorie... Au temps pour moi :/