Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Creation d'un relevé de comptes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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+
 
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 😱
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
622
Réponses
3
Affichages
485
Réponses
4
Affichages
524
Réponses
20
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…