Questions de débutant (position cellule et affectation macro à élément de liste)

Geekytoad

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je souhaite apprendre à utiliser des macros sous excel et essaie de mettre en place un tableau simple de l’état de taches à faire :

Voici comment il se présente :

Nom du dossier | Tache à accomplir | Échéance | État

J’ai fait des boutons pour opérer un tri par date, par échéance ou par état donc je commence tout juste à saisir le principe même de la macro.

L’idée actuelle est la suivante :

Je place mon curseur sur la ligne dont je veux modifier l’état et je souhaite en appuyant sur un bouton que les colonnes A à D de cette ligne passent en style insatisfaisant, neutre ou satisfaisant (ça les colore en rouge, jaune, ou vert).

Là où je bloque c’est pour récupérer la position de la cellule active.

Ma macro est toute simple :

Range("A7:D7").Select
Selection.Style = "Insatisfaisant"

L’idée est de pouvoir affecter une variable au lieu de ce A7/D7 qui corresponde au numéro de la ligne de la cellule active.

Autre idée que j’ai en tête consisterait à placer une liste déroulante dans la dernière colonne (colonne Etat) qui permette de choisir entre l’état : A faire | En attente | Validation et qui applique le style adéquat à la ligne concernée.

J'ai déjà fait la ligne déroulante mais je ne sais pas comment affecter une macro à un des choix de cette liste.

Pensez-vous pouvoir m’aider ?

Voici mon fichier de base :
https://www.dropbox.com/s/thtn02rsefi63ts/Test.xlsm

Merci par avance.
 

Lolote83

XLDnaute Barbatruc
Re : Questions de débutant (position cellule et affectation macro à élément de liste)

Salut,
Tu aurais pu utiliser les MFC pour coloré tes cellules en fonction de ce que tu saisies en colonne D mais comme tu vaux utiliser des macros, voici un petit exemple.
@+ Lolote83
 

Pièces jointes

  • Copie de Geetytoad - Test.xlsm
    29 KB · Affichages: 51

Paf

XLDnaute Barbatruc
Re : Questions de débutant (position cellule et affectation macro à élément de liste)

Bonjour

pour le soucis N° 1

ActiveCell est la cellule sélectionnée; dans ses propriétés on a Row qui indique la ligne. Donc ActiveCell.Row donne le N° de ligne de la cellule sélectionnée.

Code:
NumLigne= ActiveCell.Row

Range("A" & NumLigne & ":D" & NumLigne).Style = "Insatisfaisant"

A+

Edit : bonjour Lolote83
 
Dernière édition:

Geekytoad

XLDnaute Nouveau
Re : Questions de débutant (position cellule et affectation macro à élément de liste)

Merci pour vos réponses,

J'ai essayé de recréer moi-même les macros pour bien comprendre.

La première a donné ceci :

Sub Afaire()
'
' Afaire Macro
'

NumLigne = ActiveCell.Row

Range("A" & NumLigne & ":E" & NumLigne).Style = "Insatisfaisant"

End Sub

Mais la dernière a donné cela :

Sub Validation()
'
' Validation Macro
'

NumLigne = ActiveCell.Row

Range("A" & NumLigne & ":E" & NumLigne).Style = "Satisfaisant"

End Sub
Sub Attente()
'
' Attente Macro
'
NumLigne = ActiveCell.Row

Range("A" & NumLigne & ":E" & NumLigne).Style = "Neutre"

End Sub

Je ne comprends pas pourquoi la dernière macro contient du code de la deuxième. A quoi cela correspond-il ?

Par ailleurs, pour la mise en forme conditionnelle, je n'y avais pas pensé.

J'ai essayé et j'arrive à mettre en forme s'il n'y a qu'une condition mais je ne sais pas comment envisager les trois hypothèses.
Par ailleurs lorsque j'essaie je parviens à colorier la cellule qui contient le texte mais ne connais pas la formule pour appliquer la mise en forme aux cellules de la même ligne.
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 425
Membres
103 206
dernier inscrit
diambote