Planing : Récupération d'une liste des noms présents dans tous les onglets

Emmanuel31

XLDnaute Occasionnel
Bonjour à tous :cool:

Me voici de retour avec un fichier de planning que je me créé actuellement.
Le principe :
- 1 onglet par mois -> OK :)
- mise en forme automatique des week-ends et jours fériés -> OK :)
- mise en forme automatique des noms (tri dans chaque onglet par ordre alphabétique) -> OK :)
- coloriage des cellules en fonction du contenu -> OK :)

Là ou je bug :
- erreur lors de la remise à 0 via le bouton (du au tri de la mise en forme automatique des noms) ... ça marchait avant que je mette ce tri de noms ... :mad:

Ce que je souhaiterais ajouter :
- récupération dans tous les onglets de mois de la liste des noms afin d'alimenter seul l'onglet "Outils" :eek:

Pouvez-vous m'aider svp :confused:

Ci-joint mon fichier.

PS : si vous voyez des améliorations ou des bugs, n'hésitez pas (j'avais déjà pensé à mettre le code de coloration des cellules dans le "this workbook" au lieu de dans chaque onglet (or Outils et Paramètres) mais je n'y arrive pas ...

Merci ;)
 

Pièces jointes

  • Planning_vierge.xls
    252.5 KB · Affichages: 61

Emmanuel31

XLDnaute Occasionnel
Re : Planing : Récupération d'une liste des noms présents dans tous les onglets

Merci Hasco ...

Par contre quand j'ouvre ton document et que directe je fais une RAZ via le bouton -> PAF , erreur de compilation :(:confused:

Il semblerait que TriNoms pose problème ... même en modification de case dans un mois ... :(
 
Dernière édition:
G

Guest

Guest
Re : Planing : Récupération d'une liste des noms présents dans tous les onglets

Re,

Oui, j'ai oublié d'enregistrer la dernière modification de ThisWorkbook il manquait le Sh en fin d'appel de la macro triNoms

VB:
Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
    If sh.Name <> Outils.Name And sh.Name <> Params.Name Then
        If Not Intersect(sh.Range(AdrCellCoul), Target) Is Nothing Then coloration Target
        If Not Intersect(sh.Range(AdrNoms), Target) Is Nothing Then Macros.TriNoms sh
    End If
End Sub

Ensuite pour le RAZ, c'est le même problème que précédement, il lui faut un Application.EnableEvents = false en début et un =True en fin:

VB:
Sub RAZ()
    On Error GoTo SORTIE
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Dim sh As Worksheet
 
    For Each sh In ThisWorkbook.Worksheets
        If sh.Name <> "Outils" And sh.Name <> "Paramètres" Then
            sh.Unprotect
            With sh.Range(AdrCellCoul)
                .ClearContents
                .Interior.ColorIndex = xlNone
            End With
            sh.Range(AdrNoms).ClearContents
            sh.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingCells:=True
        End If
    Next sh
SORTIE:
    Application.ScreenUpdating = True
    Application.EnableEvents = True
End Sub

Il y a aussi une légère erreur dans la macro coloration:
cellule.Interior.ColorIndex = Params.Range("NonTrouvé")(1, 2).Interior.ColorIndex

Maintenant à toi d'étudier tout ceci et de voir ce que tu peux faire par toi-même, nous ne pourrons être derrière toi pour de simples modifications.

A+
 
Dernière modification par un modérateur:
G

Guest

Guest
Re : Planing : Récupération d'une liste des noms présents dans tous les onglets

RE,

Pour être tout à fait précis il faudrait écrire la macro coloration comme ceci, puisqu'elle ne traite que des cellules individuelles.

VB:
Sub coloration(cellule)
    Dim idx As Variant
    If cellule.Count > 1 Then GoTo Fin:
    idx = Application.Match(cellule.Value, Params.Range("Code"), 0)
    If Not IsError(idx) Then
        cellule.Interior.ColorIndex = Params.Range("Code").Cells(idx, 2).Interior.ColorIndex
    Else
        cellule.Interior.ColorIndex = Params.Range("NonTrouvé")(1, 2).Interior.ColorIndex
    End If
Fin:
End Sub

A+
 

Emmanuel31

XLDnaute Occasionnel
Re : Planing : Récupération d'une liste des noms présents dans tous les onglets

Bonjour à tous !!!

Je reprends le fil après le week-end passé loin de l'ordi ...
Donc voici que j'ai repris le dernier fichier de Hasco en faisant les modifs nécessaires (ci-dessus).

Mais j'ai toujours le même problème (voir capture d'écran) :mad:
Et ce malgré le fait d'avoir bien mis le sh à la fin ...

Voici en fichier joint le dernier modèle à jour.

Pouvez-vous m'aider svp :confused:

Merci :p
 

Pièces jointes

  • erreur.JPG
    erreur.JPG
    38.6 KB · Affichages: 31
  • erreur.JPG
    erreur.JPG
    38.6 KB · Affichages: 34
  • erreur.JPG
    erreur.JPG
    38.6 KB · Affichages: 37
  • h_Planning_vierge.xls
    177 KB · Affichages: 73
G

Guest

Guest
Re : Planing : Récupération d'une liste des noms présents dans tous les onglets

Bonjour,

Îl y a de l'emmêmlage de pinceau entre toutes les versions.

Voici le propblème corrigé. Ceci dit, je le répète, c'est à toi d'apprendre à appeler une macro et lui passer des arguments, ainsi que maintenir ton fichier.

Nous, nous ne sommes là que pour donner des indications, des exemples, à toi de les adapter, de chercher,fouiller etC.


A+
 

Discussions similaires

Statistiques des forums

Discussions
311 705
Messages
2 081 715
Membres
101 800
dernier inscrit
Nico1095