Bonjour à tous :)
Je suis nouveau sur le forum et j'aurais besoin de votre aide s'il vous plait :)
Mon objectif est de faire une macro qui corrige la plupart des problèmes de format que je trouve dans les présentations que je dois revoir : double espace que la macro remplace par un simple espace etc...
Je suis vraiment nul en VBA donc j'ai pris des bouts de code sur des forums et aujourd'hui j'ai une macro immonde mais qui fonctionne.
Le seule problème que j'ai c'est qu'elle ne conserve pas les mises en forme.
L'une des solutions serait de faire la mise en page après le passage de la macro mais bon souvent je suis en bout de chaine et la mise en page est déjà faite.
Je vous mets un extrait de mon code :
Sub CleanMyPresentation()
Dim t As Date
Dim sld As Slide
Dim shp As Shape
Dim i As Long
Dim j As Long
t = Now()
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
If shp.HasTextFrame Then
If shp.TextFrame.HasText Then
shp.TextFrame.TextRange.Text = Replace(shp.TextFrame.TextRange.Text, " ", " ")
End If
End If
If shp.HasTable Then
For i = 1 To shp.Table.Rows.Count
For j = 1 To shp.Table.Columns.Count
shp.Table.Rows.Item(i).Cells(j).Shape.TextFrame.TextRange.Text = Replace(shp.Table.Rows.Item(i).Cells(j).Shape.TextFrame.TextRange.Text, " ", " ")
Next j
Next i
End If
Next shp
Next sld
MsgBox "Your presentation is ready (" & Format(Now() - t, "hh:mm:ss") & ")"
End Sub
Merci :)