Macro WorkSheet
Fermé
augustinhio
Messages postés
3
Date d'inscription
lundi 9 décembre 2013
Statut
Membre
Dernière intervention
12 décembre 2013
-
9 déc. 2013 à 23:21
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 13 déc. 2013 à 08:58
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 13 déc. 2013 à 08:58
A voir également:
- Macro WorkSheet
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro logiciel - Télécharger - Organisation
- Télécharger macro excel chiffre en lettre dinars algerien ✓ - Forum Excel
3 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 10/12/2013 à 08:16
Modifié par michel_m le 10/12/2013 à 08:16
Bonjour
les coordonnées de la sélection précédente sont inscrites dans 2 cellules AA1 et AA2 avec la colonne AA masquée (AA ou autre suivant ta configuration)
Nota(edit à 8:16): on peut aussi mémoriser la ligne et la colonne dans la base de registre (plus discret) si les utilisateurs disposent chacun du classeur sur leur ordi...
Michel
les coordonnées de la sélection précédente sont inscrites dans 2 cellules AA1 et AA2 avec la colonne AA masquée (AA ou autre suivant ta configuration)
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Lig As Long, Col As Integer
ActiveSheet.Unprotect
'détruit la mise en évidence précédente
Lig = Range("AA1")
Col = Range("AA2")
'lig=0 et Col=0 1° utilisation
If Lig > 0 Then Rows(Lig).Interior.ColorIndex = xlColorIndexNone
If Col > 0 Then Columns(Col).Interior.ColorIndex = xlColorIndexNone
'mémorise la ligne et colonne de la cellule active
Lig = Target.Row
Col = Target.Column
' et les range dans 2 cellules (masquer la colonne AA1)
Range("AA1") = Lig
Range("AA2") = Col
'met en évidence la sélection
Rows(Lig).Interior.ColorIndex = 22
Columns(Col).Interior.ColorIndex = 36
ActiveSheet.Protect
End Sub
Nota(edit à 8:16): on peut aussi mémoriser la ligne et la colonne dans la base de registre (plus discret) si les utilisateurs disposent chacun du classeur sur leur ordi...
Michel
augustinhio
Messages postés
3
Date d'inscription
lundi 9 décembre 2013
Statut
Membre
Dernière intervention
12 décembre 2013
12 déc. 2013 à 12:47
12 déc. 2013 à 12:47
bonjour,
par rapport à mon problème, je constate que dès que je ferme mon classeur et que je l'ouvre de nouveau, ma macro ne marche n'est plus prise en compte!
je rappelle ma procédure:
"mettre la plage concernée en surbrillance exemple A1 à O50
Mise en forme conditionnelle
Format/Mise en forme conditionnelle
la formule est
=LIGNE()=CELLULE("ligne")
format et choisir une couleur
clic droit sur l'onglet de ta feuille et coller ce code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub "
je suis en attente de vos suggestions!
merci!
par rapport à mon problème, je constate que dès que je ferme mon classeur et que je l'ouvre de nouveau, ma macro ne marche n'est plus prise en compte!
je rappelle ma procédure:
"mettre la plage concernée en surbrillance exemple A1 à O50
Mise en forme conditionnelle
Format/Mise en forme conditionnelle
la formule est
=LIGNE()=CELLULE("ligne")
format et choisir une couleur
clic droit sur l'onglet de ta feuille et coller ce code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub "
je suis en attente de vos suggestions!
merci!
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 13/12/2013 à 09:10
Modifié par michel_m le 13/12/2013 à 09:10
bonjour,
"Je rappelle ma procédure: "
Tu crois? relis ton 1° message compare avec ce dernier et évite ce ton autoritaire qui semble dire "vous avez rien compris": un bénévole n'est pas ton domestique
autrement , je ne t'ai jamais parlé de:
- d'écriture de formule dans le code: A EVITER AU MAXIMUM EN VBA
-de "calculate"- inutile puisqu'on écrit pas de formule
mettre la plage concernée en surbrillance exemple A1 à O50 --
c'est nouveau ?... voir 1° message de plus,mettre en surbrillance est inutile
pour limiter l'action à A1:O50
La procédure doit être située dans le module feuille de la page concernée
Michel
"Je rappelle ma procédure: "
Tu crois? relis ton 1° message compare avec ce dernier et évite ce ton autoritaire qui semble dire "vous avez rien compris": un bénévole n'est pas ton domestique
autrement , je ne t'ai jamais parlé de:
- d'écriture de formule dans le code: A EVITER AU MAXIMUM EN VBA
-de "calculate"- inutile puisqu'on écrit pas de formule
mettre la plage concernée en surbrillance exemple A1 à O50 --
c'est nouveau ?... voir 1° message de plus,mettre en surbrillance est inutile
pour limiter l'action à A1:O50
Private Sub Worksheet_selectionChange(ByVal Target As Range)Au cas où:
Dim Lig As Long, Col As Integer
If not intersect(target, range("A1:O50") is nothing then
ActiveSheet.Unprotect
......la procèdure
End if
End sub
La procédure doit être située dans le module feuille de la page concernée
Michel