Creation d'un relevé de comptes

anthony.unac

XLDnaute Occasionnel
Bonjour,

Je tente de creer un releve de compte permettant de creer a chaque nouveau mois une nouvelle feuille portant le nom du mois en cours.

Aujourdhui je bloque sur le copier coller des :
- Longueurs et largeurs des cellules
- Conservations des formules
- Conservation des couleurs

Autre soucis, la creation d une nouvelle feuille :
Code:
Sheets.Add.Name = [I2]
la place automatiquement en premiere position (chose que je ne souhaite pas)
Comment fait on pour la placer en derniere position ?

Donc au final mon code est le suivant :

Code:
Sub Nouveau()

Sheets.Add.Name = [I2]

'Une ligne de code pour le copier/coller
'Une ligne de code pour placer la nouvelle feuille creee en derniere position

End Sub

Cordialement
Anthony
 

Pièces jointes

  • Les Comptes.xls
    31 KB · Affichages: 631
  • Les Comptes.xls
    31 KB · Affichages: 530
  • Les Comptes.xls
    31 KB · Affichages: 533
G

Guest

Guest
Re : Creation d'un relevé de comptes

Bonjour,

Tu renommes "Modèle" la feuille vide que tu nous as donnée,
et dans une macro de ton choix:
Code:
    Sheets("Modèle").Copy after:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = MonthName(Month(Date)) & " " & Right(Date, 2)

Attention si la feuille existe déjà, tu auras une erreur.

A+
 

anthony.unac

XLDnaute Occasionnel
Re : Creation d'un relevé de comptes

Re,

Apres 10 000 tentatives, j arrive a quelquechose de pas si mal (cf. fichier ci dessous) a un détail pres :
Les feuilles creees perdent leurs formules de C6 à C36 ainsi que de M6 à M36 :eek:
Comment se fait ce ?

Un probleme de copier/coller special et pourtant voici le code :

Code:
Sub Nouveau()

nom = Range("O4").Value
'Sheets.Add.Name = [I2]
ActiveSheet.Copy after:=Worksheets(ThisWorkbook.Worksheets.Count)

With ActiveSheet
    .Name = nom

    .Range("D6:D36").ClearContents
    .Range("E6:E36").ClearContents
    .Range("G6:G36").ClearContents
    .Range("H6:H36").ClearContents
    .Range("J6:J36").ClearContents
    .Range("K6:K36").ClearContents
    
    lig = 6
    For jour = 1 To 31
        .Range("B6:M6").Copy
        .Range("B" & lig & ":M" & lig).PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        .Range("B" & lig & ":M" & lig).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        .Range("B" & lig & ":M" & lig).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        .Range("B" & lig & ":M" & lig).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        .Range("B" & lig & ":M" & lig).PasteSpecial Paste:=xlPasteFormulasAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        .Range("B" & lig).Value = jour
        
        Application.CutCopyMode = False
        
        lig = lig + 1
        
    Next jour
    
End With

    
End Sub

A+
Anthony
 

Pièces jointes

  • Les Comptes.xls
    32.5 KB · Affichages: 217
  • Les Comptes.xls
    32.5 KB · Affichages: 223
  • Les Comptes.xls
    32.5 KB · Affichages: 217

MuscatMimi

XLDnaute Accro
Re : Creation d'un relevé de comptes

Salut a tous

Je ne sais pas si cela peut te sastifaire
mais j'ai fouillé dans mes archives ,et ai trouvé ce Fichier que j'avais crée il y a qq mois de cela
Cdlt
 

Pièces jointes

  • Application Relevé Banquaire .xls
    206.5 KB · Affichages: 361

Discussions similaires

Statistiques des forums

Discussions
314 662
Messages
2 111 649
Membres
111 246
dernier inscrit
Jeanluis87