Tri + enregistrement en tant que fichier [Résolu]

  • Initiateur de la discussion Initiateur de la discussion Brudy
  • Date de début Date de début

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 !

Brudy

XLDnaute Junior
Bonjour à tous,

Je suis plongé dans excel depuis quelques jours et j'aime bien découvrir tout ce qu'il cache.

Avec l'aide de Theze présent sur le forum, j'ai réussis à mettre en place une macro qui fonctionne au poil,
cependant j'amerais découvrir un peu plus et notamment l'enregistrement d'un fichier à partir d'une macro.

Je m'explique : J'ai une base de donnée, basé sur le nom d'entrepot.
Theze m'a permis de trier cette base de donnée avec une macro, en créant une feuille par entrepot et en collant la ligne de donnée dans la feuille correspondante après validation.

Maintenant que mes données sont parfaitement trier, j'aimerais réussir à mettre une macro en place pour que mes données soit trier dans une nouvelle feuille, selon 2 critères pour me permettre de les mettres en forme, puis d'enregistrer cette feuille en fichier pour pouvoir l'envoyer.

Les 12 travaux d'hercule en soit pour un novice en VBA !

En tout cas, merci à tout ceux qui vont laisser un peu de leur temps sur mon soucis, et surtout merci à tous d'avance.

Je vous joint mon fichier exemple, plus parlant.
 

Pièces jointes

Bonjour à tous

Brudy
Il aurait peut-être utile de laisser la macro de Theze dans ton fichier,non ?
Histoire d’appréhender l'ensemble du process.

En attendant de voir le code Theze reintégré ton ficheir exemple
Voici une macro pour la partie Recherche, Affichage
VB:
Sub a()
Dim DL&
Dim Crit1 As Range, Crit2 As Range
Set Crit1 = Sheets("Envoie").[F7]
Set Crit2 = Sheets("Envoie").[K7]
With Sheets("Base")
DL = .Cells(Rows.Count, 2).End(xlUp).Row
    With .Range("$B$5:$I$" & DL)
        .AutoFilter Field:=1, Criteria1:=Crit1.Text
        .AutoFilter Field:=6, Criteria1:=Crit2.Text
     End With
End With
Sheets("Base").AutoFilter.Range.Offset(1).SpecialCells(12).Copy
Sheets("Envoie").[D13].PasteSpecial xlValues
Application.CutCopyMode = False
Sheets("Base").Range("$B$5:$I$" & DL).AutoFilter
End Sub

Pour ce qui est d'enregistrer, la feuille en tant que nouveau classeur, c'est simple
Tu as deux options
1) Chercher dans les archives du forum, les discussions qui traitent de cette question.
(j'ai vérifié, elles sont nombreuses 😉)
2) Utiliser l'enregistreur de macros en faisant manuellement ceci:
Clic-droit sur l’onglet Envoie
-> Copier ou Déplacer
-> cocher Copier et choisir Nouveau Classeur​

Dans les deux cas, il te faut mettre les mains dans le cambouis, et tout bien pesé, on est loin, très loin même, des 12 travaux d'Hercule, non ? 😵
 
Dernière édition:
Bonjour Staple,

Tout d'abord merci pour ta réponse et désolé de ma réponse aussi tardive ! J'avais aucun accès à mon tableau avec la macro de Theze. Je te le joint donc.

En ce qui concerne les 12 travaux d'hercules, si la logique du VBA n'est pas assimilée cela reste un monde compliqué 😉

J'essaye d'assimiler ton développement pour comprendre comment il ce comporte
 

Pièces jointes

j'ai avancé sur ma création/enregistrement du fichier

Je suis donc partis de l'enregistrement de macro, pour créer une copie de ma feuille en pdf dans un fichier donné.

Cependant, j'avais réussis à appliquer, en bidouillant sur une autre macro, un nom de fichier pdf spécifié par les cellules F et K 7.
Dans la macro enregistré je m'y perd..

J'ai modifié comme suit mais plus aucune réponse :/ En gras ce que j'ai modifié pour tenter une solution Impossible dans le code, donc j'ai modifié :
Chemin = "C:\Users\ybruzac\Desktop\Récap Entrepot"
texte = Range("entrepot") & " - " & Range("semaine")

ET
Filename:=Chemin & texte


VB:
Sub Macro3()
'
' Macro3 Macro
'

'
    Sheets("Envoi").Select
    ActiveSheet.Buttons.Add(792.75, 86.25, 131.25, 30.75).Select
    Sheets("Envoi").Copy
    Application.Run Range("ScOnWindow")
    Sheets("Envoi").Select
    Chemin = "C:\Users\ybruzac\Desktop\Récap Entrepot"
    texte = Range("entrepot") & " - " & Range("semaine")
    Application.DisplayAlerts = False

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & texte, Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
    Range("K18").Select
    Application.WindowState = xlNormal
    Application.WindowState = xlMinimized
    Windows("Fichier Test Facture GMF.xlsm").Activate
    Application.Run Range("ScOnWindow")
    Windows("Classeur1").Activate
    ActiveWindow.Close
    Application.Run Range("ScOnWindow")
    Application.WindowState = xlMaximized
    ActiveSheet.Shapes("Button 1").Select
    Selection.OnAction = "Macro3"
    Range("M19").Select
    ActiveSheet.Shapes("Button 1").Select
    Application.Goto Reference:="Macro3"
    ActiveWorkbook.Save
    ActiveSheet.Shapes("Button 1").Select
    Selection.Characters.Text = "Bouton 1"
    With Selection.Characters(Start:=1, Length:=8).Font
        .Name = "Arial"
        .FontStyle = "Normal"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = 2
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    Range("L17").Select
    ActiveSheet.Shapes("Button 1").Select
    Selection.OnAction = "Macro3"
    Range("D26:D27").Select
    Sheets("PENALITE").Select
    Application.WindowState = xlMinimized
    Sheets("Envoi").Select
    ActiveSheet.Shapes("Button 1").Select
    Selection.OnAction = "Macro3"
    ActiveSheet.Shapes("Button 1").Select
    Selection.Characters.Text = "Bouton 1"
    With Selection.Characters(Start:=1, Length:=8).Font
        .Name = "Arial"
        .FontStyle = "Normal"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = 2
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    Range("N10").Select
    ActiveSheet.Shapes("Button 1").Select
    Application.Goto Reference:="Macro3"
    ActiveWorkbook.Save
    ActiveSheet.Shapes("Button 1").Select
    Selection.Characters.Text = "Bouton 1"
    With Selection.Characters(Start:=1, Length:=8).Font
        .Name = "Arial"
        .FontStyle = "Normal"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = 2
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    Range("P10").Select
    ActiveSheet.Shapes("Button 1").Select
    Application.Goto Reference:="Macro3"
    Range("J17").Select
    ActiveWindow.SmallScroll Down:=-9
    ActiveSheet.Shapes("Button 1").Select
    Application.Goto Reference:="Macro3"
    ActiveWorkbook.Save
    Range("Q9").Select
    Application.WindowState = xlMinimized
    Range("F20").Select
    ActiveWindow.SmallScroll Down:=-6
    Sheets("Envoi").Select
    Range("F19").Select
    ActiveWorkbook.Save
    Range("F7").Select
    ActiveCell.FormulaR1C1 = "Nantes"
    Range("K7").Select
    ActiveCell.FormulaR1C1 = "17"
    Range("M10").Select
    ActiveSheet.Shapes("Button 1").Select
    Application.Goto Reference:="Macro3"
End Sub


PS : 16h12, je sais pas ce que j'ai fait mais je me retrouve maintenant avec une macro bugué, et le un fichier qui ce créer a chaque clic sur le bouton 😱
 
Dernière édition:
- 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 Complétude fichier
Réponses
8
Affichages
723
Retour