Recupérer le numéro de ligne d'une forme
DGVDR
Messages postés
164
Statut
Membre
-
Patrice33740 Messages postés 8931 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8931 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un tableau d'environ 150 lignes avec dans la colonne L, et pour chaque ligne un bouton. ( une forme carré avec écrit ok dessus)
Je voudrais qu'a chaque fois que l'on clique sur le bouton d'une ligne, il agisse sur la ligne. (qu'il vide la case "I" de cette ligne )
Je ne sais pas comment effectuer cette commande, il faudrait que je récupères le numéro de ligne du bouton. Une idée ?
Autre chose, j'aimerai insérer un bouton "Ok" type windows, plutot qu'une forme avec écrit ok dessus, quelqu'un peut m'éclairer ?
Merci d'avance,
DGVDR
J'ai un tableau d'environ 150 lignes avec dans la colonne L, et pour chaque ligne un bouton. ( une forme carré avec écrit ok dessus)
Je voudrais qu'a chaque fois que l'on clique sur le bouton d'une ligne, il agisse sur la ligne. (qu'il vide la case "I" de cette ligne )
Je ne sais pas comment effectuer cette commande, il faudrait que je récupères le numéro de ligne du bouton. Une idée ?
Autre chose, j'aimerai insérer un bouton "Ok" type windows, plutot qu'une forme avec écrit ok dessus, quelqu'un peut m'éclairer ?
Merci d'avance,
DGVDR
A voir également:
- Recupérer le numéro de ligne d'une forme
- Récupérer compte yahoo sans numéro de téléphone - Guide
- Partage de photos en ligne - Guide
- Numero prive - Guide
- Mise en forme conditionnelle excel - Guide
- Recuperer message whatsapp supprimé - Guide
2 réponses
Bonjour,
Pas besoin de forme ni de bouton !
Écris directement les Ok dans les cellules de la colonne L (avec les bordures et la couleur tu peux simuler la forme d'un bouton)
Utilises le code suivant (il suffit de cliquer sur le ok) :
Copier le code ci-dessus / Clic droit sur l'onglet de feuille / visualiser le Code / Coller
Pas besoin de forme ni de bouton !
Écris directement les Ok dans les cellules de la colonne L (avec les bordures et la couleur tu peux simuler la forme d'un bouton)
Utilises le code suivant (il suffit de cliquer sur le ok) :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Columns("L:L")) Is Nothing Then Exit Sub
If Not Target.Value = "Ok" Then Exit Sub
Target.Offset(, -3).ClearContents
End Sub
Copier le code ci-dessus / Clic droit sur l'onglet de feuille / visualiser le Code / Coller
Bonjour Patrice33740,
Merci pour ton code que je vais mettre en application !
Quelques questions :
Quel est l'interet de / à quoi sert :
Merci,
DGVDR
Merci pour ton code que je vais mettre en application !
Quelques questions :
Quel est l'interet de / à quoi sert :
(ByVal Target As Range)
cel.Offset(, -3).ClearContents
Merci,
DGVDR
Re,
Worksheet_SelectionChange(ByVal Target As Range) est une procédure évènementielle de la feuille de calcul Excel qui s'exécute automatiquement lorsque la sélection change ((changement de cellule active). Excel envoi la plage des cellules sélectionnées à cette procédure à l'aide de l'argument Target.
cel.Offset(, -3).ClearContents efface le contenu de la cellule située 3 colonnes avant la cellule cel
Patrice
PS : Dans l'éditeur Visual Basic, il suffit de placer le curseur texte dans un mot et d'appuyer sur F1 pour obtenir l'aide concernant ce mot.
Worksheet_SelectionChange(ByVal Target As Range) est une procédure évènementielle de la feuille de calcul Excel qui s'exécute automatiquement lorsque la sélection change ((changement de cellule active). Excel envoi la plage des cellules sélectionnées à cette procédure à l'aide de l'argument Target.
cel.Offset(, -3).ClearContents efface le contenu de la cellule située 3 colonnes avant la cellule cel
Patrice
PS : Dans l'éditeur Visual Basic, il suffit de placer le curseur texte dans un mot et d'appuyer sur F1 pour obtenir l'aide concernant ce mot.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim cel As Range If Intersect(Target, Columns("L:L")) Is Nothing Then Exit Sub For Each cel In Intersect(Target, Columns("L:L")).Cells If cel.Value = "Ok" Then cel.Offset(, -3).ClearContents Next cel End Sub