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

Crer une macro de sauvegarde avec l'enregistreur de macro.

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

Angus

XLDnaute Junior
Bonsoir à tous,

Je ne peux pas vous transmettre le fichier en question, mais j'ai un bon exemple avec un menu.

Disons que dans mon document j'ai 4 feuilles:

Sur la 1ere se trouvent les entrées: Salade, Carottes, Tomate.
Sur la 2e les plats de résistances: Pavé de boeuf, Saumon, Saucisses
Et sur la 3e les dessert : Glaces, Mousse au chocolat, Pâtisserie.

Sur chacune de ces feuilles les plats proposés sont à cocher.

Sur la 4e feuille dois être composé (choix entrée, plat et dessert mi bout à bout) le menu choisit en entier.

Je voudrais avec un bouton intitulé "Créer le menu", que ce menu se compose selon les choix de l'utilisateur et qu'il n'ai plus qu'à rentrer un nom et un lieu de sauvegarde.

Voilà comment je procède:

J'enregistre une macro qui conditionnée par les choix, copie l'élément choisit de la page dessert en page quatre, puis l'élément choisit de la page Plat en 2e ligne de la page 4 et ainsi de suite...

Puis avec la macro, je sélectionne toute la page 4, puis "Copier", Je créer une nouvelle page Excel, "Colle" le contenu de la page 4 sur ce document vierge, ensuite enregistrer sous: .....

C'est à ce moment que je voudrais arrêter la macro, pour laisser à l'utilisateur le nom sous lequel enregistrer le menu et à quel endroit l'enregistrer.

Mais problème:
1) La macro est impossible à arrêter à ce moment précis.
2) la création d'une nouveau document Excel génère un fichier "Classeur 1" qui reste vide si l'utilisateur utilise un nom différent pour sauvegarder le menu créer...

J'aimerais une solution élégante pour remplir cet objectif.

Merci d'avance.
 

Staple1600

XLDnaute Barbatruc
Re : Crer une macro de sauvegarde avec l'enregistreur de macro.

Re

J'attends un fichier plus léger et complet pour pouvoir faire des tests et répondre à ta dernière question.


PS: je sais toujours pas si tu as réussi à faire fonctionner mes macros.
 

Angus

XLDnaute Junior
Re : Crer une macro de sauvegarde avec l'enregistreur de macro.

Oui çà fonctionne, mais çà ne m'apporte pas grand chose par rapport à la macro enregistré, A condition que celle ci fonctionne

Voilà le fichier entier sacrement dépouillé des images.

La fameuse macro est sur le bouton export front tout à la fin
 

Pièces jointes

  • Ex Kinematic concept_22-7.xlsm
    227.8 KB · Affichages: 46
  • Ex Kinematic concept_22-7.xls
    274 KB · Affichages: 54
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Crer une macro de sauvegarde avec l'enregistreur de macro.

Re


Toujours pas attentif ...
PS: Postes plutôt un xls qu'un xlsm ainsi plus de monde pourra ouvrir ta pièce jointe.
On voit bien que tu as supprimé les couleurs et les formats comme je te le conseillais

C'est motivant !
Cela renforce mon envie de t'aider.

PS: Dans la feuille, il suffisait de garder seulement cette macro
front_suspension_out_but_Click()
Dans le classeur, de faire un copier/valeurs seules car dans le cas présent, le problème posé c'est la copie par les calculs
Il y aussi un module vide qui ne sert à rien qu'à augmenter la taille de ton classeur.

PS2: En suivant mes propres conseils, ton classeur fait désormais 49ko
Comme quoi ...
 
Dernière édition:

Angus

XLDnaute Junior
Re : Crer une macro de sauvegarde avec l'enregistreur de macro.

Sinon comme tu peux le voir:

J'ai récupérer un ficher "exporté" du fameux logiciel, que j'ai découpe en morceau, chaque morceau récupère les valeurs calculées dans le code et affichées en page 1 et 2, ensuite la macro ré-assemble les morceaux....

C'est ce que j'ai trouvé de plus simple.
 

Staple1600

XLDnaute Barbatruc
Re : Crer une macro de sauvegarde avec l'enregistreur de macro.

Re

J'ai l'impression que tu lis un mot sur deux de mes messages.

Supprimes tous tes formats, tes couleurs, tes bordures

Ceci est un fichier de test !

Relis mon précédent message.

PS: Ton fichier a planté mon Excel quand je le faisais maigrir.
Pourtant l'instant je passe à autre chose.

Il y a tout ce qu'il faut sur le forum pour répondre à ta question finale.

Le moteur de recherche est là pour cela.

Et comme en plus
Oui çà fonctionne, mais çà ne m'apporte pas grand chose par rapport à la macro enregistré, A condition que celle ci fonctionne

Il est donc quasi inutile que j'essaie de continuer de t'aider
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Crer une macro de sauvegarde avec l'enregistreur de macro.

Re


Expliques moi alors comment se fait-il que j'ai un fichier issu du tien de 49ko sur mon disque dur ??

Je repasserai plus tard voir si tu as trouvé solution à ta dernière question.

[trait d'humeur]
En espérant que tu auras laissé ton "dilettantisme" au vestiaire tant il est vrai que perdre du temps sur des futilités, cela fait bien avancer les choses.
[/trait d'humeur]

PS: je viens de voir que tu as ajouter un xls. Merci
 

Staple1600

XLDnaute Barbatruc
Re : Crer une macro de sauvegarde avec l'enregistreur de macro.

Re

Pour moi, la dernière question est:
C'est à ce moment que je voudrais arrêter la macro, pour laisser à l'utilisateur le nom sous lequel enregistrer le menu et à quel endroit l'enregistrer.

Je laisse Sharky y répondre si le cœur lui dit.

Moi je repasserai plus tard.

PS1: Sharky, tout ce code VBA je l'avais supprimé car il ne sert à rien pour ce qui est de la copie.
Suppresion que n'a fait Angus, mais c'est normal, il lit mes messages que d'un oeil .

PS2: Si tu me connaissais, tu verrai que je ne prends rien mal sur XLD
 
Dernière édition:

Angus

XLDnaute Junior
Re : Crer une macro de sauvegarde avec l'enregistreur de macro.

Staple,

celà m'aiderai beaucoupsu tu m'expliquaisun peu ton code, je n'ai comprend que 10%


VB:
Sub Mcopie(fs$, source$, fd$, desti$) 'dans les () çà représente quoi?
Sheets(fs).Range(source).Copy                    'et dans celle-ci?
Sheets(fd).Range(desti).PasteSpecial 12 '*
End Sub

Private Sub CommandButton1_Click()

Dim copie As Workbook, choix
'///////////CREATION DONNEES TEST//////
With Range("A3:H30")
    .FormulaArray = "=COLUMN()*ROW()"
    .Value = .Value
    .Borders.LineStyle = xlContinuous
    .Interior.ColorIndex = 6
    .Font.Bold = True
End With
'/////////FIN CREATION DONNEES TEST /////
choix = InputBox("Choix?", "Test", 1)
Application.ScreenUpdating = False
Select Case choix
Case 1
Mcopie "Feuil1", "A3:H9", "Feuil2", "A35"
Case 2
Mcopie "Feuil1", "A11:H19", "Feuil2", "A35"
Case 3
Mcopie "Feuil1", "A20:H30", "Feuil2", "A35"
End Select
Set copie = Workbooks.Add(xlWBATWorksheet)
ThisWorkbook.Worksheets("Feuil2").Copy Before:=copie.Sheets(1) 'Le before ?
Application.DisplayAlerts = False
copie.Sheets(2).Delete
Application.DisplayAlerts = True  'que'est ce que ceci?
Application.ScreenUpdating = True  'que'est ce que ceci?


End Sub
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
315
Réponses
10
Affichages
380
Réponses
4
Affichages
418
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…