Macro actualisation d'un TCD perturbée par d'autres macro

Résolu
romanza Messages postés 263 Statut Membre -  
romanza Messages postés 263 Statut Membre -
Bonjour,

Je vous livre mon fichier qui est un projet de gestion des tâches.

https://mon-partage.fr/f/j1UsYAXI/

- 1 onglet Base de données à saisir
- 1 onglet Rétroplanning qui est un TCD qui se met à jour automatiquement en fonction de la base quand on va sur l'onglet
-1 onglet de chronologie des tâches, autre TCD (reprenant les données de la base) qui ne se met pas à jour quand on va sur cet onglet. C'est mon problème

Le fichier comporte plusieurs macros qui ne sont pas de moi et que j'ai juste recopié puisque je ne maîtrise pas le langage VBA.

Sur la feuille chronologie des tâches, pour mettre à jour le TCD quand on sélectionne cette feuille, j'ai bien essayé de mettre :

Private Sub Worksheet_Activate()
ThisWorkbook.RefreshAll
End Sub

mais ça bug avec une autre macro et là je suis perdu.

Pour quelqu'un qui maîtrise le VBA, ce doit être bête comme chou mais je ne trouve pas la solution après avoir essayé.

Merci beaucoup pour votre aide précieuse.

romanza

Configuration: Windows / Chrome 88.0.4324.190

8 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Bonjour

    Dans un module de feuille il ne doit y avoir qu'une seule macro Worksheet_Activate :
    Private Sub Worksheet_Activate()
      '...
    End Sub 


    Il suffit d'ajouter ton code en début de la macro déjà existante :
    Private Sub Worksheet_Activate()
      ThisWorkbook.RefreshAll
      '...
    End Sub

    0
  2. romanza Messages postés 263 Statut Membre 2
     
    Bonjour Patrice,

    Merci pour ton retour.

    C'est bien ce que j'avais fait :

    Private Sub Worksheet_Activate()
    ThisWorkbook.RefreshAll
    Range("A8:DZ12").Select
    Range("A8:DZ12").EntireRow.AutoFit
    Range("B3").Select

    End Sub

    Mais j'ai un arrêt à "ClearContents" de la macro suivante :

    Sub FusionnerMois()
    Application.ScreenUpdating = False
    Dim r As Range
    Dim c As Range
    Dim d As Range

    Set r = ActiveSheet.Range("K12:NL12")
    With r.Offset(-1)
    .unmerge
    .ClearContents
    .NumberFormat = "mmmm-yy"
    .HorizontalAlignment = xlCenter

    For Each c In r.Cells
    If d Is Nothing Then
    Set d = c.Offset(-1)
    d.Value = c.Value
    End If
    If Month(c.Offset(0, 1).Value) <> Month(d.Value) Then
    With ActiveSheet.Range(d, c.Offset(-1))
    .merge
    .Borders.Weight = xlThin
    End With
    Set d = Nothing
    End If
    Next c

    End With
    End Sub

    Pascal
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      Ça n'a rien à voir avec l'actualisation du TCD
      0
  3. romanza Messages postés 263 Statut Membre 2
     
    Le TCD de l'onglet "Chronologie des tâches" ne peut s'actualiser que si on clique d'abord sur l'onglet "Rétroplanning"

    Si on clique droit sur le TCD et commande "Actualiser", ça bug.

    Je souhaiterais qu'en allant sur l'onglet "Chronologie des tâches", le TCD qui s'y trouve s'actualise automatiquement
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. romanza Messages postés 263 Statut Membre 2
     
    Merci beaucoup Patrice, j'ai vu où ça clochait.

    Puis-je te demander comme tu l'avais fait auparavant de mettre une fusion des mois correspondant aux dates de début du TCD de l'onglet "Chronologie des tâches" au niveau du bandeau jaune.
    0
  6. romanza Messages postés 263 Statut Membre 2
     
    Bonjour Patrice,

    Un grand MERCI!

    La ballade en VBA c'est toi!

    Peux-tu m'indiquer comment je mets résolu sur le forum.

    Belle journée

    Pascal
    0
  7. romanza Messages postés 263 Statut Membre 2
     
    C'est bon j'ai vu

    A+
    0