WORD actualisation cases tableau

Résolu
Bonjour, je contextualise, j'ai plusieurs documents word, chacun a 40 tableaux et chaque tableau contient 3 listes déroulantes. Les listes déroulantes ont plusieurs valeurs possibles.

J'ai réalisé un script VBA afin de changer la couleur du texte et du fond de la case en fonction de la valeur choisi. Tout fonctionne seulement qu'il faut cliquer sur la case pour mettre à jour la case.

Ma question : Est-il possible de mettre à jour tous les cases d'un coup à l'aide d'un script VBA ?

Merci d'avance

5 réponses

  1. Contributeur
    bonjour,
    probablement: ne suffit-il pas de parcourir tous les documents et, dans chacun, tous les tableaux et toutes les listes?
    1. Non cette solution n'est pas viable quand tu as 400 documents et d'autres à en venir
      1. Contributeur
        ne suffit-il pas d'écrire de code qui va parcourir tous les documents et, dans chacun, tous les tableaux et toutes les listes?
      2. @yg_beC'est ce que j'ai réalisé, mais les cases ne se mettent pas à jour automatiquement, c'est le problème que j'essaie de résoudre justement. Pour l'instant, les cases ne se modifie que si je double-clique dessus, ce que je ne veux pas faire.
    2. Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
      With ContentControl.Range
          If ContentControl.Title = "Taille" Then
              Select Case .Text
                  Case "Petit"
                      .Cells(1).Shading.BackgroundPatternColor = wdColorGreen
                      .Cells(1).Range.Font.TextColor = wdColorBlack
                  Case "Moyen"
                      .Cells(1).Shading.BackgroundPatternColor = wdColorRed
                      .Cells(1).Range.Font.TextColor = wdColorBlack
                  Case "Grand"
                      .Cells(1).Shading.BackgroundPatternColor = wdColorBlack
                      .Cells(1).Range.Font.TextColor = wdColorRed
                      .Cells(1).Range.Font.Bold = True
                  Case Else
                      .Cells(1).Shading.BackgroundPatternColor = wdColorAutomatic
                      .Cells(1).Range.Font.TextColor = wdColorBlack
              End Select
          End If
      End With
      End Sub


      J'ai une liste déroulante qui se nomme "Taille", il y a 3 valeurs possibles "Petit", "Moyen", "Grand".

      Je souhaite ouvrir le fichier, ajouter le script et que tous les couleurs se mettent à jour, sans avoir besoin de cliquer sur chaque liste.
      1. Peut-être qu'il faut passer par une macro, je ne sais pas.
      2. Contributeur
        @Adirenpeux-tu partager un document représentatif?
    3. Comment partager un fichier ?
      1. Contributeur
        le publier sur internet (cjoint.com, googe drive, ...), et partager le lien ici.