Programmation Excel VBA, bouton lié à une ligne
Résolu/Fermé
PANTPUFLE
-
23 sept. 2020 à 09:44
PANTPUFLE Messages postés 10 Date d'inscription mercredi 23 septembre 2020 Statut Membre Dernière intervention 6 octobre 2020 - 23 sept. 2020 à 13:39
PANTPUFLE Messages postés 10 Date d'inscription mercredi 23 septembre 2020 Statut Membre Dernière intervention 6 octobre 2020 - 23 sept. 2020 à 13:39
A voir également:
- Programmation Excel VBA, bouton lié à une ligne
- Aller à la ligne excel - Guide
- Liste déroulante excel - Guide
- Formule excel - Guide
- Déplacer une colonne excel - Guide
- Hors ligne instagram - Guide
3 réponses
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
1 471
23 sept. 2020 à 09:53
23 sept. 2020 à 09:53
bonjour, je ne comprends pas le lien entre ton premier et ton second paragraphe.
je me demande si c'est une bonne idée d'avoir un bouton par ligne.
peux-tu partager ton fichier?
je me demande si c'est une bonne idée d'avoir un bouton par ligne.
peux-tu partager ton fichier?
PANTPUFLE
Messages postés
10
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
6 octobre 2020
23 sept. 2020 à 10:20
23 sept. 2020 à 10:20
Bonjour, j'ai conscience de ne pas être très clair dans mes propos alors je vais essayer d'apporter des précisions.
Tout d'abord je vous mets a disposition le lien du excel car je n'ai pas reussis a l'intégrer d'une autre façon:
https://www.cjoint.com/c/JIxinC7lWYa
Sur ma feuille de commande, on peut voir au client SNCF (qui est un exemple) qu'il y a différentes commandes, différentes dates ect... Devant chaque ligne il y a un bouton affilié à la ligne. Lorsque ma commande est livré, il serais plus confortable pour moi d'effacer mes données du tableau dans les cellules allant de C à G. Mon problème est le suivant. Si un jour j'ai une commande supplémentaire, il me faudrais rajouter une ligne dans ce tableau et donc changer le numéro des cellules. Le bouton ne restant pas dans sa cellule attribué, le code VBA ne serais alors plus bon car il m'effacerais les données d'une autre cellule.
J'aurais donc aimé, soit pouvoir lié mon bouton à une cellule, peut importe le rajout de ligne ou de suppression, les boutons restent sur le bon numéro de cellule qui leur à été attribué. Ou alors savoir si il était possible de programmer le bouton afin qu'il efface les données de sa cellule mais sans avoir à mettre les numéro dans Range("C32:G32").
Merci beaucoup de votre réponse.
Tout d'abord je vous mets a disposition le lien du excel car je n'ai pas reussis a l'intégrer d'une autre façon:
https://www.cjoint.com/c/JIxinC7lWYa
Sur ma feuille de commande, on peut voir au client SNCF (qui est un exemple) qu'il y a différentes commandes, différentes dates ect... Devant chaque ligne il y a un bouton affilié à la ligne. Lorsque ma commande est livré, il serais plus confortable pour moi d'effacer mes données du tableau dans les cellules allant de C à G. Mon problème est le suivant. Si un jour j'ai une commande supplémentaire, il me faudrais rajouter une ligne dans ce tableau et donc changer le numéro des cellules. Le bouton ne restant pas dans sa cellule attribué, le code VBA ne serais alors plus bon car il m'effacerais les données d'une autre cellule.
J'aurais donc aimé, soit pouvoir lié mon bouton à une cellule, peut importe le rajout de ligne ou de suppression, les boutons restent sur le bon numéro de cellule qui leur à été attribué. Ou alors savoir si il était possible de programmer le bouton afin qu'il efface les données de sa cellule mais sans avoir à mettre les numéro dans Range("C32:G32").
Merci beaucoup de votre réponse.
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
1 471
23 sept. 2020 à 11:07
23 sept. 2020 à 11:07
un exemple:
Private Sub CommandButton1_Click() Dim ligne As Long ligne = Me.CommandButton1.TopLeftCell.Row Cells(ligne, "C").Resize(1, 5).ClearContents End Sub
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
1 471
>
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
Modifié le 23 sept. 2020 à 11:11
Modifié le 23 sept. 2020 à 11:11
ou bien, tenant compte que le bouton est dans la colonne A:
Private Sub CommandButton10_Click() Me.CommandButton10.TopLeftCell.Offset(0, 2).Resize(1, 5).ClearContents End Sub
PANTPUFLE
Messages postés
10
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
6 octobre 2020
>
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
23 sept. 2020 à 11:31
23 sept. 2020 à 11:31
Merci beaucoup mais après essai cela efface la première ligne de mon premier tableau mais pas la ligne où se trouve le bouton.
Je vais essayer de voir si avec votre programme je ne peux pas trouver une alternative mais si vous aviez une solution à mon problème cela m'aiderais grandement.
Merci pour votre aide.
Je vais essayer de voir si avec votre programme je ne peux pas trouver une alternative mais si vous aviez une solution à mon problème cela m'aiderais grandement.
Merci pour votre aide.
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
1 471
>
PANTPUFLE
Messages postés
10
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
6 octobre 2020
23 sept. 2020 à 11:33
23 sept. 2020 à 11:33
peux-tu montrer ton code modifié? chez moi, tout se passe bien.
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
1 471
23 sept. 2020 à 11:27
23 sept. 2020 à 11:27
une autre méthode serait d'utiliser une seule macro, et d'associer tous les boutons à cette macro.
tu peux même copier le bouton sur toutes les lignes.
Sub bouton() ActiveSheet.Buttons(Application.Caller).TopLeftCell.Offset(0, 2).Resize(1, 5).ClearContents End Sub
tu peux même copier le bouton sur toutes les lignes.
PANTPUFLE
Messages postés
10
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
6 octobre 2020
Modifié le 23 sept. 2020 à 11:53
Modifié le 23 sept. 2020 à 11:53
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
1 471
>
PANTPUFLE
Messages postés
10
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
6 octobre 2020
23 sept. 2020 à 12:15
23 sept. 2020 à 12:15
cette méthode est à utiliser si tu associes une macro aux boutons (la même macro à tous les boutons).
https://support.microsoft.com/fr-fr/office/assigner-une-macro-%C3%A0-un-formulaire-ou-%C3%A0-un-bouton-de-contr%C3%B4le-d58edd7d-cb04-4964-bead-9c72c843a283
https://support.microsoft.com/fr-fr/office/assigner-une-macro-%C3%A0-un-formulaire-ou-%C3%A0-un-bouton-de-contr%C3%B4le-d58edd7d-cb04-4964-bead-9c72c843a283
PANTPUFLE
Messages postés
10
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
6 octobre 2020
>
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
23 sept. 2020 à 12:47
23 sept. 2020 à 12:47
D'accord, je vais regarder ça. Merci beaucoup pour toute votre aide en tout cas :)
PANTPUFLE
Messages postés
10
Date d'inscription
mercredi 23 septembre 2020
Statut
Membre
Dernière intervention
6 octobre 2020
>
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
23 sept. 2020 à 13:39
23 sept. 2020 à 13:39
Ca fonctionne trés bien, merci beaucoup !
23 sept. 2020 à 10:26