Menu

Copier un feuille vers un nouveau classeur selon condition [Résolu]

hakimr 87 Messages postés lundi 1 mai 2017Date d'inscription 24 novembre 2017 Dernière intervention - 3 juil. 2017 à 17:24 - Dernière réponse : hakimr 87 Messages postés lundi 1 mai 2017Date d'inscription 24 novembre 2017 Dernière intervention
- 6 juil. 2017 à 22:27
Bonjour,
Je débute en VBA et en allant sur différent forums j'ai réussi à faire une partie de ma macro, mais je bloque sur la fin, et je veux quelques chose de professionnelle.
Voilà mon problème :j'ai un classue "recap-2017", je dois copier une feuille (feuille x) dans un nouveau classeur qui devra contenir une copie de cette dernière si mois de la cellule A32="dec-2017" de la feuille active . En +, le nom du nouveau classeur = "recap-2018" ,enregistrer sur le bureau.
merci d'avance pour votre aide.
Afficher la suite 

2 réponses

Répondre au sujet
hakimr 87 Messages postés lundi 1 mai 2017Date d'inscription 24 novembre 2017 Dernière intervention - Modifié par hakimr le 5/07/2017 à 11:05
0
Utile
1
Bonjour a tous
autrement dit
je veux tester sur une cellule L3, si L3 ="dec-2017" alors en cliquant sur bouton "suivant", copier feuille active dans un nouveau classeur nommé "TVA-2018".
voila comment écrire cette procédure dans un macro?
merci pour votre aide.
hakimr 87 Messages postés lundi 1 mai 2017Date d'inscription 24 novembre 2017 Dernière intervention - 6 juil. 2017 à 22:27
bonsoir
je cherche enfin quelqu’un qui m'aide a contrôler et corriger cette procédure :
Dim dlg As FileDialog
Dim i As Integer
ActiveSheet.Copy after:=Sheets(Sheets.Count)
[c7].Value = [c7].Value + 1
[A843].Value = [C843].Value
test = Application.Proper(Format(Range("e779"), "mmm-yyyy"))
ActiveSheet.Name = test
Range("c7").Select
If [c7].Value = 12 Then
ActiveSheet.Copy
' proposer l'enregistrement du nouveau classeur
Set dlg = Application.FileDialog(msoFileDialogSaveAs)
With dlg
' nom du fichier
.InitialFileName = ThisWorkbook.Path & "\" & "TVA " & [A6].Value + 1
' filtrer sur l'extension *.xls
For i = 1 To .Filters.Count
If .Filters(i).Extensions = "*.xls" Then
.FilterIndex = i
Exit For
End If
Next i
If .Show <> 0 Then
'Enregistrer le classeur
On Error Resume Next
Application.DisplayAlerts = False
.Execute
Application.DisplayAlerts = True
On Error GoTo 0
End If
End With
End If
je m"explique
cette procédure est affecter a un bouton (mois suivant), a chaque fois en cliquant , faire une copie de la feuille active jusqu’à atteindre la condition de la valeur de la cellule C7 sera égal 12 alors un nouveau classeur sera créer dont une copie de la dernière feuille
merci pour votre compréhension.
Commenter la réponse de hakimr