XL 2013 Liste déroulante

EricVan

XLDnaute Nouveau
Bonsoir
Voilà mon problème, j’ai créé une liste déroulante avec des noms, mais avec des couleurs différentes pour certains noms: par exemple. Toto est en gras rouge Tata est est en jaune, etc quand je vais sur ma cellule et que je sélectionne Toto, la couleur du nom est noir, comment conserver la police et la forme de ma liste déroulante. Merci pour votre aide.
 
C

Compte Supprimé 979

Guest
Bonjour EricVan,

Voici le code à utiliser
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  Dim CelFind As Range
  If Not Intersect(Range("B5:AE28"), Target) Is Nothing Then
    ' Trouver le client dans la liste de clients
    Set CelFind = [listeClt].Find(Target, LookIn:=xlValues, LookAt:=xlWhole)
    ' Si client non trouvé, on sort
    If CelFind Is Nothing Then Exit Sub
    ' Désactiver les évènements
    Application.EnableEvents = False
    ' Sinon on applique les mises en forme
    ' 1) Copie de la cellule trouvée
    CelFind.Copy
    ' 2) Collage du format
    Selection.PasteSpecial Paste:=xlPasteFormats
    ' Réactiver les évènements
    Application.EnableEvents = False
  End If
End Sub

Et le fichier, car j'ai modifié le nom et la formule de la plage de nom client ;)

Ne sachant pas quelle version d'Excel vous avez, je n'ai pas créé de tableau strucutré

@+
 

Pièces jointes

  • EricVan_Rendez vous Kiné V3.xlsm
    61.5 KB · Affichages: 12

EricVan

XLDnaute Nouveau
Bonjour EricVan,

Voici le code à utiliser
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  Dim CelFind As Range
  If Not Intersect(Range("B5:AE28"), Target) Is Nothing Then
    ' Trouver le client dans la liste de clients
    Set CelFind = [listeClt].Find(Target, LookIn:=xlValues, LookAt:=xlWhole)
    ' Si client non trouvé, on sort
    If CelFind Is Nothing Then Exit Sub
    ' Désactiver les évènements
    Application.EnableEvents = False
    ' Sinon on applique les mises en forme
    ' 1) Copie de la cellule trouvée
    CelFind.Copy
    ' 2) Collage du format
    Selection.PasteSpecial Paste:=xlPasteFormats
    ' Réactiver les évènements
    Application.EnableEvents = False
  End If
End Sub

Et le fichier, car j'ai modifié le nom et la formule de la plage de nom client ;)

Ne sachant pas quelle version d'Excel vous avez, je n'ai pas créé de tableau strucutré

@+
Bonjour Bruno

Merci Bruno, vous êtes un vrai pro, bravo c'est super!
J'ai fais ce petit programme bénévolement car je suis à la retraite et avec le COVID je m'occupe, mais je ne suis pas un pro.

Un grand merci.

Cordialement
 

EricVan

XLDnaute Nouveau
Bonjour Bruno

Merci Bruno, vous êtes un vrai pro, bravo c'est super!
J'ai fais ce petit programme bénévolement car je suis à la retraite et avec le COVID je m'occupe, mais je ne suis pas un pro.

Un grand merci.

Cordialement
Bonjour Bruno

Excusez moi de vous solliciter, mais la macro ne marche pas sur les autres feuilles, j'ai un autre probleme, j'ai fais une condition pour éviter les doublons, mais je souhaite cette condition que pour la journée du lundi, mais elle est active sur les autres jours.
En plus si je supprime un nom par erreur, ça ne prends plus la mis en forme du nom dans la liste.
Je vous remercie par avance
Bien a vous
 
C

Compte Supprimé 979

Guest
Bonjour EricVan,

Comme je l'avais indiqué, j'ai changé le nom de la plage nommée en plus de la formule
Il fallait donc refaire les validations de données pour chaque feuille (fait)

En revanche, pour les MFC, il y en a 2
Pour les valeur en double, si c'est pour le lundi, il faut modifier la plage (fait)
2021-01-24_14h28_09.png


Voici le fichier avec remise à zéro si suppression du client

@+
 

EricVan

XLDnaute Nouveau
Rebonjour

Une fois de plus, je fais appel à vous.
Excusez moi, mais malheureusement ca ne marche pas trop, car quand je rajoute un noms avec une couleur bleu, elle l'affiche avec du rouge, de plus ça ne reprend pas la mise en forme sur les cellules du dessous.
Voici le fichier ou je n'ai rien modifié mais que sélectionner un noms et inseré un nom avec une couleur.

Une nouvelle fois je m'excuse de vous embêter.

Merci
 

Pièces jointes

  • Copie de EricVan_Rendez vous Kiné bruno.xlsm
    57.9 KB · Affichages: 3
C

Compte Supprimé 979

Guest
Re,

Désolé, j'ai laissé une erreur dans le code, la dernière ligne est à changer
VB:
    ' Réactiver les évènements
    Application.EnableEvents = False
Par
Code:
    ' Réactiver les évènements
    Application.EnableEvents = True
Sinon, cela fonctionne une fois et puis plus rien

J'ai modifié le fichier dans le poste précédent en virant les MFC pour vous démontrer que cela fonctionne.
Sauf qu'une MFC prendra toujours le dessus par rapport à une application de format

@+
 

EricVan

XLDnaute Nouveau
Bonjour Bruno,

Ce serrait abusé si je vous demande si on peut ajouté à ce fichier une récurrence, par exemple si Toto a un rendez-vous systématique tous les mardi à 14:00, en lui mettant un caractère à son nom et que ça remplisse automatiquement sur la feuille ces rendez-vous tous les mardi à 14h00.
C'est peut être beaucoup à vous demander, mais ça serait super si vous y arrivez.

Bonne journée
 

EricVan

XLDnaute Nouveau
Bonjour Bruno

Une fois de plus je fais appel a votre savoir, le fichier marche très bien, j'ai bien la police et les couleurs mais on peut mettre les commentaires sur cette liste déroulante, pour éviter d'aller dans la liste des clients pour voir le commentaire attribué au clients.
Merci d'avance
Bonne journée
 
C

Compte Supprimé 979

Guest
Bonjour Eric,

Voici une nouvelle version, avec les demandes #13 et #14 ;)

#13 : Pour inscrire un RDV récurent, il suffit de saisir une * après le nom, en revanche je en sais pas comment traiter la suppression de ce RDV à part sur la feuille active

#14 : Si il existe un commentaire, il est inscrit directement dans la cellule ou le nom est saisi

@+
 

Pièces jointes

  • EricVan_Rendez vous Kiné V3c.xlsm
    62.4 KB · Affichages: 7

Discussions similaires

Réponses
2
Affichages
270

Statistiques des forums

Discussions
312 165
Messages
2 085 882
Membres
103 010
dernier inscrit
Sys974