XL 2013 Modification code VBA

JHA

XLDnaute Barbatruc
Bonjour à tous,

J'ai un bout de code qui fonctionne si je rentre une donnée dans la plage "plan". Ce code renvoie une couleur de fond suivant l'intitulé de la cellule.
Le problème est que l'intitulé n'est plus inscrit à la main mais par formule et là plus rien ne s'affiche.
Avez vous une idée de la modification à apporter?

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([plan], Target) Is Nothing Then
On Error Resume Next
Target.Interior.ColorIndex =
Code:
.Find(Target, LookAt:=xlWhole).Interior.ColorIndex
  End If
End Sub

merci pour votre aide si possible.

JHA
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : Modification code VBA

Re-bonjour,

...J'ai essayé d'épurer au max pour vous donner un exemple, si cela peut vous aider...

Oui, merci, c'est bien mieux avec un exemple.

Un dernier essai, avec mes petites :rolleyes: connaissances...

Le second fichier est au format xls.

A bientôt :)
 

Pièces jointes

  • 00 - JHA - Couleurs v3.xlsm
    538 KB · Affichages: 50
  • 00 - JHA - Couleurs v3.zip
    444 KB · Affichages: 62

Paf

XLDnaute Barbatruc
Re : Modification code VBA

Merci DoubleZero :)

dans Private Sub Workbook_Open() il faudrait corriger en
Dico(Montab(i, 1)) = .Cells(i + 3, 5).Interior.ColorIndex pour prendre valeur et index de couleur au bon endroit.

Même si sous XL 2003 je m'arrête à la colonne IV, vu la taille de la plage nommée plan et le fait que l'on y recalcule alors les fonctions matricielles le traitement prends un temps énorme.

Je regarde pour s'affranchir des fonctions matricielles et mise à jour (avec les couleurs) dès la saisie en feuille Saisie; mais sans doute pas ce soir !

A+
 

Dranreb

XLDnaute Barbatruc
Re : Modification code VBA

Je pense aussi qu'il vaudrait mieux renoncer aux formules, vu qu'il faudra quand même exécuter du VBA pour la couleur.
Je pense qu'on peut refaire tout le calendrier en un temps raisonnable lors de la désactivation de la feuille saisie.
Ça pourrait même être assez rapide avec quelques-uns de mes modules de service.
(Rien de plus efficace pour éviter les doubles boucles pénalisantes que de faire en sorte que tout se retrouve ensemble l'un derrière l'autre grâce à une indexation des deux tables empilées).
Au fait, j'espère que le calendrier sert aussi à d'autre choses, parce que s'il fallait uniquement y mettre le reflet de la feuille saisie, ce serait encore beaucoup plus simple.
Sinon, s'il fallait classer les noms au passage dans la feuille calendrier, ça m'arrangerait aussi.
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re : Modification code VBA

Re,

après quelques modifs,

les formules de la feuille Calendrier sont supprimées.
la sub Private Sub Workbook_Open() est conservée
la sub Private Sub Worksheet_Change(ByVal Target As Range) de la feuille Saisie est rajoutée

c'est la saisie en feuille saisie qui va écrire et colorer la feuille Calendrier

Sans doute beaucoup de tests pour vérifier tout les cas de figure !

A+
 

Pièces jointes

  • Paf pour JHA.zip
    341.2 KB · Affichages: 47

JHA

XLDnaute Barbatruc
Re : Modification code VBA

Bonsoir à tous,
Bonsoir Paf,:)

Merci pour ce travail, je teste tout cela et l'adapte au fichier d'origine.

Dranreb, ce fichier n'est pas pour moi, il suffit à mon humble avis d'avoir le reflet de la feuille "saisie" pour une meilleure lecture sur l'année.

JHA
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
248

Statistiques des forums

Discussions
312 305
Messages
2 087 070
Membres
103 453
dernier inscrit
Choupi