[VBA] Retour à la ligne texte trop long

Jarzet

XLDnaute Nouveau
Salut à tous,

Je viens encore vous demander de l'aide !

Je suis toujours sur mes TCD en VBA et un nouveau problème se pose à moi.

En effet j'ai crée un tableau reprenant les réponses d'une question soit "oui/non" et donne le total de chaque (cette partie est OK) puis ensuite si la personne répond non elle peut laisser un commentaire et donc j'ai crée un TCD qui récupère les commentaires en les triant par nom sauf que la problème, y'a des commentaires qui sont hyper long et vu que les deux TCD sont sur les mêmes colonnes, le TCD "oui/non" devient enorme pour la taille de sont texte et de plus il envoie le graphique qui se trouve a coté à perpète hors de l'écran. Donc ma question est, est-il possible de definir pour mon TCD commentaires que si le texte d'un commentaire dépasse une certaine taille il retourne a la ligner et continu même quitte à faire plusieurs retours à la ligne pour une seule phrase si elle est vraiment longue.

Je vous mets le code du tableau (enfin des deux) :
Code:
Sub TCD_AccompagnementComplet()
    Dim PTcache As PivotCache
    Dim PTtable As PivotTable
    Dim WT As Worksheet
    Dim i As Integer

    Set WT = Worksheets("Tableaux")
    
    If ActiveSheet.Shapes("PointeurChoix6-1").Visible Then
        ActiveSheet.Shapes("PointeurChoix6-1").Visible = False
        ActiveSheet.Shapes("GraphiqueChoix6").Visible = False
        
        WT.PivotTables("TCD_AccompagnementComplet").TableRange2.Clear
        WT.PivotTables("TCD_AccompagnementCompletSiNon").TableRange2.Clear
        
        If ActiveSheet.Shapes("PointeurChoix6-2").Visible Then
            Graph_AccompagnementComplet
        End If
        
        i = 2
        AfficherCacherChoix (i)
 
        ActualiserTCD
 
    ElseIf ActiveSheet.Shapes("Choix6").Visible = False Then
    
    
    
    Else
        ActiveSheet.Shapes("PointeurChoix6-1").Visible = True
        ActiveSheet.Shapes("GraphiqueChoix6").Visible = True
    
    
        Set PTcache = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="Réponses")
    
        Set PTtable = ActiveSheet.PivotTables.Add(PivotCache:=PTcache, TableDestination:="Tableaux!R1C27", TableName:="TCD_AccompagnementComplet")

        With PTtable
            .TableStyle2 = "PivotStyleMedium3"
            .ShowTableStyleRowStripes = True
            .ShowTableStyleColumnStripes = True
            .PivotFields("L'accompagnement réalisé lors de l'installation vous a-t-il paru suffisamment complet pour utiliser votre poste de travail ?").Orientation = xlRowField
            .PivotFields("L'accompagnement réalisé lors de l'installation vous a-t-il paru suffisamment complet pour utiliser votre poste de travail ?").Orientation = xlDataField
            .CompactLayoutRowHeader = "Réponses"
            .DataPivotField.PivotItems("Nombre de L'accompagnement réalisé lors de l'installation vous a-t-il paru suffisamment complet pour utiliser votre poste de travail ?").Caption = "Total de réponses"
            .ColumnGrand = False
            .RowGrand = False
            .PivotFields("L'accompagnement réalisé lors de l'installation vous a-t-il paru suffisamment complet pour utiliser votre poste de travail ?").PivotFilters.Add Type:=xlValueDoesNotEqual, _
            DataField:=PTtable.PivotFields("Total de réponses"), Value1:=0
            .PivotTableWizard TableDestination:="Tableaux!R6C6"
        End With
    
    
        Set PTtable = ActiveSheet.PivotTables.Add(PivotCache:=PTcache, TableDestination:="Tableaux!R1C27", TableName:="TCD_AccompagnementCompletSiNon")

        With PTtable
            .TableStyle2 = "PivotStyleMedium3"
            .ShowTableStyleRowStripes = True
            .ShowTableStyleColumnStripes = True
            .PivotFields("Nom, Prénom :").Orientation = xlRowField
            .PivotFields("Si non merci de préciser pourquoi :").Orientation = xlRowField
            .CompactLayoutRowHeader = "Si non, précisions :"
            .ColumnGrand = False
            .RowGrand = False
            .PivotFields("Si non merci de préciser pourquoi :").PivotFilters.Add Type:=xlCaptionDoesNotEqual, Value1:="(vide)"
            .PivotTableWizard TableDestination:="Tableaux!R24C6"
        End With
        
        i = 1
        AfficherCacherChoix (i)
    
    End If
    
End Sub

Il se trouve vers la fin du module 2.

Merci d'avance, je joins aussi une copie en mode confidentiel (les données ne sont pas authentiques)
 

Pièces jointes

  • QuestionnaireMacro - Copie.zip
    78.3 KB · Affichages: 46
  • QuestionnaireMacro - Copie.zip
    78.3 KB · Affichages: 38
  • QuestionnaireMacro - Copie.zip
    78.3 KB · Affichages: 41
Dernière édition:

Jarzet

XLDnaute Nouveau
Re : [VBA] Retour à la ligne texte trop long

Salut,

Merci beaucoup je me sens un peu bête mais j'ai réussi, je vais vous donner la ligne de code au cas où ça intéresserait :
Code:
        If Columns("F:F").ColumnWidth > 80 Then
            Columns("F:F").ColumnWidth = 80
            Columns("F:F").WrapText = True
        End If

Encore merci
 

Statistiques des forums

Discussions
314 630
Messages
2 111 382
Membres
111 118
dernier inscrit
gmc