PB macro pour enregister une feuille d'un classeur SANS perte de données

floart2704

XLDnaute Nouveau
Bonjour,

après avoir eu une grande aide sur le forum pour la réalisation d'une base de donnée dans le cadre professionnel, je sollicite à nouveau votre aide car je ne trouve vraiment pas la clef à mon problème!!

J'ai fini ma base donnée mais je souhaite désormais pouvoir enregister uniquement une feuille ( COMMANDE ) de mon classeur avec une macro qui appelerai la boite de dialogue " ENREGISTER SOUS" et permettrai à l'utilisateur d'enregiister donc cette feuille dans le dossier qu'il désire.
Le problème c'est que ma feuille COMMANDE contient des valeurs liées à d'autres feuilles et donc une fois que j'utilise cette macro, toute mes données liées s'effacent GRrrrrrr...Horreur

je ne sais pas comment faire afin de pouvoir enregister cette feuille uniquement sans perdre mes valeurs prix, total!

si vous pouvez m'aider je vous en remerci d'avance car du coup toute ma base est inutilisable...j'attends vos posts!

Flo

Ps: je ne peux vous joindre le fichier en question car je n'arrive pas à le réduire a mois de 86 ko..
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : PB macro pour enregister une feuille d'un classeur SANS perte de données

Bonjour floart,

le problème, tu l'as bien compris vient des liaisons

la solution, fais une copie de ta feuille "COMMANDE"
Attention: copie des valeurs et éventuellement le format

...........et enregistre

à+
Philippe
 

floart2704

XLDnaute Nouveau
Re : PB macro pour enregister une feuille d'un classeur SANS perte de données

Merci Philippe pour ta proposition, j'y avais bien pensé cependant mais je trouve que pour les futurs utilisateurs cette méthode sera trop "contraignante" en fait, je veux désolidariser ma feuille commande avec le reste de mes feuilles mais sans perdre mes données calculées....aie aie!!
est ce qu'une macro pourrais solutionner mon pb?mais je suis novice dans le langage VBA donc HELP!!!!!!!!!

merci
 

CBernardT

XLDnaute Barbatruc
Re : PB macro pour enregister une feuille d'un classeur SANS perte de données

Bonsoir,

Un exemple de classeur qui devrait correspondre au projet d'enregistrement.
 

Pièces jointes

  • ClasseurTest.xls
    41.5 KB · Affichages: 145
  • ClasseurTest.xls
    41.5 KB · Affichages: 147
  • ClasseurTest.xls
    41.5 KB · Affichages: 147

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : PB macro pour enregister une feuille d'un classeur SANS perte de données

Re,
Bonjour Bernard, Staple .............et floart l'homme pressé qui devrait cesser de taper du pied comme un enfant gâté
j'y avais bien pensé cependant mais je trouve que pour les futurs utilisateurs cette méthode sera trop "contraignante" en fait, je veux désolidariser ma feuille commande avec le reste de mes feuilles mais sans perdre mes données calculées....aie aie!!
est ce qu'une macro pourrais solutionner mon pb?mais je suis novice dans le langage VBA donc HELP!!!!!!!!!
perso, je construirais une macro qui:

1- fais une sauvegarde de mon fichier afin de le retrouver intact pour une utilisation ultérieure

2- créer une nouvelle feuille sur laquelle on fait la copie des valeurs de la feuille "COMMANDE"

3- supprimer toutes les feuilles sauf la feuille nouvellement crée

4- éventuellement renommer cette feuille

5- faire la sauvegarde de cette feuille (sous un nom différent du fichier de base)

Pour les novices en VB, l'utilisation de l'enregistreur de macro .....................
j'ai commencé comme ça !!!

à+
Philippe
 

floart2704

XLDnaute Nouveau
Re : PB macro pour enregister une feuille d'un classeur SANS perte de données

Bonsoir,

tout d'abord merci a tous ceux qui ont posté afin de solutionner mon problème...
désolé si j'ai pu paraitre "pressante" cependant après avoir cherché toute la journée en épluchant les différents posts et solutions proposées, je n'ai toujours pas réussi à trouver de solution..j'ai une formule matricielle c'est peut être que de là vient mon problème..
je vous joint en PJ mon fameux tableau...le pb viens du fait que la valeur correspondante au prix n'est pas copier quand j'enregistre ma feuille seule via ma macro...j'ai essayé plusieurs façon mais en vain...bon je vous laisse regarder...:confused:

Cordialement
 

Pièces jointes

  • base de données modele.xlsm
    27.2 KB · Affichages: 92
  • base de données modele.xlsm
    27.2 KB · Affichages: 98
  • base de données modele.xlsm
    27.2 KB · Affichages: 98
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : PB macro pour enregister une feuille d'un classeur SANS perte de données

Bonsoir

( pression hierarchiq oblige!)
Les prud'hommes sont là pour cela, le harcèlement moral au travail réprimé par loi.

Pour ton problème VBA, essaies ceci (remplace le code existant de ton bouton par celui-ci)

Code:
Sub CommandButton1_Click()
Sheets("COMMANDE").Copy
With ActiveSheet
    With .[A2].CurrentRegion: .Value = .Value: End With
        .Shapes(1).Delete
    Application.Dialogs(xlDialogSaveAs).Show Replace(CStr(.Range("B2").Text), "/", "_")
End With
End Sub
 
Dernière édition:

floart2704

XLDnaute Nouveau
Re : PB macro pour enregister une feuille d'un classeur SANS perte de données

Pour ton problème VBA, essaies ceci (remplace le code existant de ton bouton par celui-ci)

Code:
Sub CommandButton1_Click()
Sheets("COMMANDE").Copy
With ActiveSheet
    With .[A2].CurrentRegion: .Value = .Value: End With
        .Shapes(1).Delete
    Application.Dialogs(xlDialogSaveAs).Show Replace(CStr(.Range("B2").Text), "/", "_")
End With
End Sub

Je viens d'essayer...et à la place du prix j'ai toujours #REF! qui apparait...existe t-il une formule VBA pour "figer les valeurs issues de formules matricielles"?!
 

floart2704

XLDnaute Nouveau
Re : PB macro pour enregister une feuille d'un classeur SANS perte de données

Re

Alors nous allons biaiser (je viens juste d'y penser)
Code:
Private Sub CommandButton1_Click()
Dim t$
t = Sheets("COMMANDE").[B6].Text
Sheets("COMMANDE").Copy
With ActiveSheet
    With .[A2].CurrentRegion: .Value = .Value: End With
    .[B6] = t
        .Shapes(1).Delete
    Application.Dialogs(xlDialogSaveAs).Show Replace(CStr(.Range("B2").Text), "/", "_")
End With
End Sub

YES!!!!!!!!!! CA MARCHE!!!
merci bcp JM!!
là c'est une très grosse épine que tu viens de m'enlever!c'est sûr je n'aurais jamais pu pondre un truc pareil!
bon je vais bien lui mettre dans les dents à mon boss...il va voir qu'une petite employée peut lui faire sa base de données (bon avec bcp d'aide de votre part!)

merci a vous!
bonne soirée!
 

floart2704

XLDnaute Nouveau
Re : PB macro pour enregister une feuille d'un classeur SANS perte de données

bonjour,

meilleurs voeux à tous les excelleurs!

je reviens à vous car il me reste un petit problème à solutionner, la formule de Staple1600 marche super simplement du fait que j'ai plusieurs valeurs à figer,une fois que je valide ma macro,c'est la dernière valeur par défaut qui s'enregistre à toutes mes valeurs...bon je ne sais pas si je me suis bien fais comprendre..pour cela je vous ai joint le tableur avec la macro en question, ce sera davantage parlant..
voilà si vous avez une solution, ce sera une 2ème grosse épine que vous m'oterez!!!!
merci bcp

Cordialement
 

Pièces jointes

  • base de données modele.xlsm
    27.2 KB · Affichages: 37
  • base de données modele.xlsm
    27.2 KB · Affichages: 31
  • base de données modele.xlsm
    27.2 KB · Affichages: 33

floart2704

XLDnaute Nouveau
Re : PB macro pour enregister une feuille d'un classeur SANS perte de données

bonjour,

meilleurs voeux à tous les excelleurs!

je reviens à vous car il me reste un petit problème à solutionner, la formule de Staple1600 marche super simplement du fait que j'ai plusieurs valeurs à figer,une fois que je valide ma macro,c'est la dernière valeur par défaut qui s'enregistre à toutes mes valeurs...bon je ne sais pas si je me suis bien fais comprendre..pour cela je vous ai joint le tableur avec la macro en question, ce sera davantage parlant..
voilà si vous avez une solution, ce sera une 2ème grosse épine que vous m'oterez!!!!
merci bcp

Cordialement
 

Pièces jointes

  • base de données modele.xlsm
    27.2 KB · Affichages: 37
  • base de données modele.xlsm
    27.2 KB · Affichages: 35
  • base de données modele.xlsm
    27.2 KB · Affichages: 38

Discussions similaires