Export avec format mais sans formules

arzac

XLDnaute Nouveau
Bonjour
Cela fait plusieurs jours que je cherche une solution.
J'ai réussi à faire une macro pour exporter un tableau dans un nouveau classeur :

Private Sub ExportFD_Click()
' nombre de ligne maxi du tableau
rang = Range("J2").Value

'sélection de l'ensemble des lignes
Range(Cells(1, 2), Cells(rang + 3, 11)).Select
'copier dans un nouveau classeur
Application.CutCopyMode = False
Selection.Copy
Workbooks.Add
With Selection
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlFormats
'ajuster la largeur des colonnes
Selection.Columns.AutoFit
End With

End Sub

Cela fonctionne dans l'ensemble par contre la largeur des cellules n'est correcte en fait le texte contenu est placé sur 2 ou 3 lignes dans la cellule alors que je désirerai que le texte ne soit que sur une ligne. A priori "Selection.Columns.AutoFit" n'est peut-être pas adapté
Par ailleurs la feuille originale est affichée en paysage dans l'export elle est restée en portrait.
Merci de m'aider. Je ne sais pas comment faire malgré mes recherches !

Cordialement
 

Cousinhub

XLDnaute Barbatruc
Re : Export avec format mais sans formules

Bonjour,

Et en tournant le problème différemment?

Tu fais une copie de ta feuille, puis tu remplaces toutes les formules par leur valeur...

Ainsi plus de problèmes de mise en page...

Essaie ce code (nom de la feuille à adapter...)

Code:
Sub Macro2()
Dim Cel As Range
Application.Calculation = xlCalculationManual
Sheets("Feuil1").Copy
For Each Cel In Cells.SpecialCells(xlCellTypeFormulas, 23)
    Cel.Value = Cel.Value
Next Cel
Application.Calculation = xlCalculationAutomatic
End Sub

Bonne journée
 

arzac

XLDnaute Nouveau
Re : Export avec format mais sans formules

Bonjour
Merci pour votre réponse.
Votre macro marche très bien : tout le format est bien conservé tant pour les colonnes que pour le format paysage. je ne connaissais pas cette astuce merci cela pourra m'aider dans d'autres circonstances.
Actuellement le problème c'est, que travaillant bénévolement pour une association, la personne qui va utiliser ce classeur ne connait pas beaucoup excel et je ne suis pas sure qu'elle saura copier /collage special --> valeurs.
Je vais tenter de lui montrer mais s'il y avait une solution pour régler ce problème automatiquement avec la macro d'export je serais plus sure qu'il n'y a pas de fausse manip (c'est moi qui doit chercher l'erreur après LOL !).
Merci beaucoup pour votre aide.

Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : Export avec format mais sans formules

Bonsoir à tous


Pour le plaisir de saluer bhbh (sans la boucle ca marche aussi ;) )
(avec presque 1 mois de retard ;) )

VB:
Sub Macro3()
Dim Cel As Range
Application.Calculation = xlCalculationManual
Sheets("Feuil1").Copy
With Cells.SpecialCells(xlCellTypeFormulas, 23)
    .Value = .Value
End With
Application.Calculation = xlCalculationAutomatic
End Sub
 

Discussions similaires

Réponses
3
Affichages
547
Réponses
0
Affichages
662