macro liste deroulante couleurs

  • Initiateur de la discussion Initiateur de la discussion cafrine
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

cafrine

Guest
bonsoir à tous

telle une parasite, j'ai récupéré une macro dont je je voulais adapter à mon
planning
et bien sur, ça ne marche pas.....
>> qui pourrait me dire ce qui cloche ?
>> A quoi correspond "range(" A1")" dans la macro

je n'arrive pas à joindre mon fichier en PJ, donc voici la macro : en esperant
que cela suffira..

merci d'avance

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Address = "$H$3" Then Exit Sub
Range("H3").Formula = "=" & ActiveCell.Address
End Sub

Private Sub Worksheet_Calculate()
'Dim Cellule As Range
On Error Resume Next
'For Each Cellule In ActiveSheet.Selection
If Not Application.Intersect(ActiveCell, Range("L4:L34")) Is Nothing Then
ActiveCell.Interior.ColorIndex = xlNone
ActiveCell.Interior.ColorIndex = Range("situation").Cells.Find(What:=ActiveCell, After:=Range("situation").Range("A1"), LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True).Interior.ColorIndex
ActiveCell.Font.ColorIndex = Range("situation").Cells.Find(What:=ActiveCell, After:=Range("situation").Range("A1"), LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True).Font.ColorIndex
End If
'Next Cellule
End Sub
 
Bonjour,

Pour placer ton fichier il y a deux conditions :

1. tu dois disposer d'un programme de compression qui permet d'obtenir des fichiers avec extension ZIP et et y placer ton fichier excel.

2. La grosseur du fichier ZIP ne doit pas dépasser 50 Ko.

Ensuite tu peux placer ton fichier dans la rubrique "Pièce jointe" en utilisant le bouton "parcourir"

Concernant le range A1, je ne suis pas très sûr de son utilité. Cette instruction semble être d'appliquer à la cellule active la couleur trouvée suite à une recherche dans le Range Situation (cellule A1).
Mais bon, avec le fichier et une explication sur ce que tu veux faire, ce serait plus facile de t'aider.

Dans l'attente de te lire

@+ Dan
 
Bonjour,

Revoici le fichier avec quelques modifications par rapport à ta demande.

1. Déplacement des données de références dans la feuille situation. J'ai créé un nom "DataSituation" via menu/insertion/nom/définir

2. La feuille Jan_fev_... est renommée "Mois"

3. Via ALT + F11, tu accèdes à VBA. Là appuie sur CTRL + F2 pour avoir la fenetre VBA project. En cliquant dans "This Workbook" tu peux voir la macro que j'ai placée avec quelques explications.

4. Dans la feuille Mois, choisis tes données entre E4 et E34 et ce, via la liste déroulante.

Si pb ou que cela ne te convient pas, n'hésite pas.

Bonne lecture.

@+ Dan
 

Pièces jointes

bonsoir Dan

je vais de ce pas l'adapter a mes feuilles. j'ai compris le principe.
"" en gros "".
Merci beaucoup à toi

Euh , si je peux me permettre une confirmation :
ce planning est composé de plusieurs feuilles...
pour la même macro , j'ai juste à inserer le nom des autres feuilles et rajouter les plages au bon endroit ??

("mois;mois1;mois2")
("E4:E34;B3:B35;G4:G32")

désolée de te mettre encore à contribution

Merci
 
Bonsoir Cafrine,

Si tu as plusieurs feuilles, il faut en connaitre les noms et les plages et les introduire séparément dans la macro.

Exemple : Je suppose que la plage E4:E34 concerne uniquement la feuille Mois, la plage B3:B35 concerne la feuille Mois1 et la plage G4:G32 la feuille Mois2.

Dans ce cas il faut adapter comme ci dessous :

remplacer ceci :

If Sh.Name = ("Mois") Then 'Mois1" est le nom de la feuille
Set Plage = Range("E4:E34") 'Plage dans la feuille Mois du classeur
Else: Exit Sub

Par :

If Sh.Name = ("Mois") Then
Set Plage = Range("E4:E34") 'Plage dans la feuille Mois1 du classeur
ElseIf Sh.Name = ("Mois1") Then
Set Plage = Range("B3:B35")
ElseIf Sh.Name = ("Mois2") Then
Set Plage = Range("G4:G32")
Else: Exit Sub

Si pb n'hésite pas

Dan
 
bonsoir dan

J' ai essayé d'adapter le dernier fichier....en vain.
Et pour le fichier final mes limites sont largement dépasséees...

* problème sur la 3è ligne de la macro (DATAsituation)
* et aussi avec \ données\validation je pense.

voilà je laisse tomber "pour ce soir" et n'hésite donc pas à te solliciter
encore...

en te remerciant

cafrine
 

Pièces jointes

Bonsoir Cafrine,

Ok le pb de "Datasituation" est simple, il suffit dans ta macro de mettre "Situation" à la place ou de mettre "Datasituation" à la place de "Situation" que tu trouveras dans Menu / Insertion / Nom / définir.
Pour ce qui est de données Validation, je ne vois de quoi tu veux parler.

J'ai récupéré ton fichier plus complet ici et là je vois mieux ce que tu veux faire.
Les plages que tu as placées après Sh.name ne sont pas correctes puisque dans ton cas il faut définir les plages par feuille donc :

If Sh.Name = ("1 quadri 2004") Then
Set Plage = Range("D4😀34;H4:H34;L4:L34;P4😛33")
ElseIf Sh.Name = ("2 quadri 2004") Then
Set Plage = Range("D4😀34;H4:H34;L4:L34;P4😛33")
ElseIf ...etc pour chaque feuille
Else: Exit Sub

N'hésite pas à me dire si tu ne comprends pas et si cela fonctionne ou non.

Dans l'attente de te lire

Dan
 
Bonsoir,

Toutes mes excuses mais j'ai fait une petite erreur dans la macro et que tu pourras facilement corriger :

Remplace les ";" par des "," dans toutes les instructions "Set Plage = Range("D4😀34;H4:H34;L4:L34;P4😛33")"

Cela donne pour cet exemple : Set Plage = Range("D4😀34,H4:H34,L4:L34,P4😛33")

A part cela cela fonctionne chez moi.

Si pb n'hésite pas.

@++ Dan
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
545
Réponses
3
Affichages
566
Réponses
12
Affichages
905
Retour