Autofit

CISCO

XLDnaute Barbatruc
Bonjour à tous

J'ai un fichier comportant deux feuilles, Mandat 0 et Récap 0.
J'ai fait une toute petite macro (raccourci clavier Ctrl+q) qui rajoute dans ce fichier deux feuilles semblables aux précédentes, et les nomme Mandat 1 et Récap 1. Si on recommence, on obtient deux autres feuilles nommées Mandat 2 et Récap 2 et ainsi de suite.
Cela fonctionne sauf que certaines colonnes, Récap 1! B, D et E ne sont pas correctement ajustées bien qu'il y ait une ligne de code Autofit... Par ex, le texte dans B6 n'est pas bien positionné. Est-ce à cause des cellules fusionnées (Ce n'est pas moi qui ai choisi cette disposition, et il faut faire avec). Qu'est-ce que je n'ai pas fait correctement ?

@ plus
 

Pièces jointes

  • essai Ordres de mandatements 2016 forum.xls
    74 KB · Affichages: 34
Dernière édition:

chris

XLDnaute Barbatruc
Re : Autofit

Bonjour

Pourquoi ne pas dupliquer l'onglet plutôt que copier coller le contenu et devoir mettre en forme ?
Code:
    Sheets("Mandat 0").Copy After:=Sheets(ThisWorkbook.Worksheets.Count)
    ActiveSheet.Name = "Mandat " & ((Sheets.Count) - 1) / 2
    Sheets("Récap 0").Copy After:=Sheets(ThisWorkbook.Worksheets.Count)
    ActiveSheet.Name = "Récap " & ((Sheets.Count) - 2) / 2
 
Dernière édition:

CPk

XLDnaute Impliqué
Re : Autofit

Bonjour CISCO, cela ne m'étonnerait pas que ce soit excel qui boude les cellules fusionnées et vu qu'il y en a plusieurs par dans toute la zone...Pour contourner il faut je pense rendre homogène les deux cellules (l'une il y a un alt+entrée après "crédits" et l'autre non, puis ajuster pourquoi pas avec la propriété columnWidth pour donner à la Cellule B6 la taille de B7+C7.
 
Dernière modification par un modérateur:

Lone-wolf

XLDnaute Barbatruc
Re : Autofit

Re CISCO

Je ne sais pas si comme ceci, les cellules fusionnées ne causent pas de problèmes, l'avis des experts s'il vous plaît.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim plage(1 To 3) As Range

Set plage1 = Application.Union(Range("e2"), Range("f2"), Range("g2"))
plage1.Value = 30

Set plage2 = Application.Union(Range("j6"), Range("k6"))
plage2.Value = 20

Set plage3 = Application.Union(Range("b11"), Range("c11"), Range("d11"), Range("e11"))
plage3.Value = 40
End Sub
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Autofit

Bonjour

La proposition de CPk semble résoudre le problème signalé.

@ Lone-Wolf : Dans le vrai fichier, il y a encore plus de cellules posant pb, donc, comme la proposition de Cpk fonctionne, en corrigeant les cellules en question dans la feuille Récap 0...

Merci à tous les 3.

@ plus
 

CPk

XLDnaute Impliqué
Re : Autofit

J'avais commencé ça, peut-être que cela peu servir

Code:
Sub Macro1()
Dim a&, b&
a = Feuil2.Cells(7, 2).ColumnWidth
b = Feuil2.Cells(7, 3).ColumnWidth
With Feuil2.Cells(6, 2)
.Value = Feuil2.Cells(7, 2)
.ColumnWidth = a + b
End With
End Sub
 

Discussions similaires

Réponses
8
Affichages
619

Statistiques des forums

Discussions
314 019
Messages
2 104 649
Membres
109 092
dernier inscrit
ahm74