IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

enregistrer les résultats de la feuille sans formules


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Par défaut enregistrer les résultats de la feuille sans formules
    bonjour à tous;
    j'ai un petit probleme!!
    j'ai fait un bouton qui enregistre une feuille qui contient des résultats ontenue en utilisant des formules, le problems quand j'enregistre le srésultats obtenue ,et ferme et alors quand j' ouvre une autre fois elle fait automatiquement la mise à jours (le lien avec les nouvelle données) moi je ne veux pas de çc, au fait je veux enregitrer la feuille de données avec juste les chiffres affichés mais sans formules, est celà est possible? merci par avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [Feuil9].Activate
    ActiveSheet.Copy
    'Affiche la boîte de dialogue
    Application.Dialogs(xlDialogSaveAs).Show

  2. #2
    Membre expérimenté
    Inscrit en
    Février 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 208
    Par défaut
    bonjour

    Oui c'est possible en réalisant un collage spécial --> valeur
    mais pour conserver les formats il faut auparavant réaliser un collage normal.

    voici un exemple réalisé avec l'enregistreur de macro qui colle la feuil1 (par exemple) sur la feuil2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Cells.Select
        Selection.Copy
        Sheets("Feuil2").Select
        Cells.Select
        ActiveSheet.Paste
        Cells.Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    à plus

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Par défaut plus claire
    pour etre plus claire je veux copier ma feuille avec ces valeurs et pas les formules!!!est ce dejà cela est possible ? merci

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut DIDIDIDA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [Feuil9].Copy
    [Feuil9].cells.Copy
    ActiveSheet.Cells.PasteSpecial (xlPasteValues)
    'Affiche la boîte de dialogue
    Application.Dialogs(xlDialogSaveAs).Show
    La première copie me crée la feuille avec les format des cellule
    la 2me écrase le contenu des cellules avec la valeur de chaque cellule

    Par principe, je n'utilise jamais le nom informatique de la feuille, je préfère utiliser Sheets("non d'onglet") que je maîtrise plutôt que celui qui est attribué par Excel.
    Dans le même ordre d'idée, je renomme la nouvelle feuille dès que possible. Cette méthode évite quelques désagréables surprises
    A+

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ton pb, copier une feuille (dans un autre classeur ?) sans mise à jours
    Tu as plusieurs solutions.
    1 - Tu veux conserver les formules dans ta feuille
    2 - Tu ne veux pas conserver les formules

    Solutions :
    1 - Tu désactives le calcul de la feuille collée
    2 - Tu pratiques en deux temps :
    tps A - Copie de la feuille
    tps B - Copie des seules valeurs par collage spécial

    Tu dis la solution que tu retiens et précise si la copie et l'original sont dans le même classeur.
    Après, tu pourras enregister "sous"

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Par défaut
    merci pierre , je vien de voir ta réponse. deja au moins je sais que c"est realisable, maintenant il faut que je cherche la syntaxe qu'il faut!!

    tout d'abord merci à vous tous,
    Gorfael: j'ai essayé ta syntaxe mais ça marche pas ça m'affiche un pbm d'execution!!!à ce niveau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Cells.PasteSpecial (xlPasteValues)
    OUSKL'N'OR: je veux copier la feuille mais sans formule en il faut préciser ça dans le code , parceque l'utilisateur apres ce n'est pas moi§!!!!

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Sheets("Feuil2").Copy After:=Sheets(Sheets.count) 'copie et place la copie après la derniere feuille
        Sheets("Feuil2").Cells.Copy
        ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteValues
    Tu adaptes le nom de la feuille copiée

    Tu peux nommer ta nouvelle feuille
    Activesheet.name = "coucou je suis la copie"

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Par défaut
    ouskl'n'or, avec ta syntaxe ça m'affice la meme erreur qu'avec la syntaxe de gorfael: " la methode PastSpecial de la classe range a echoé" et en plus moi je ne veux pas préciser si possible ou il va mettre la feuille à copier. c'est en utilisant la boite de dialogue....j'ai aussi une question si vous me le permettez et manuelement ça ce fait comment? merci

    j'ai oublier de préciser que ma feuille était securisée, maintenat j'ai enlevé la securité, alors en utilisant ce code il m'affiche ça: "cette opération requiert que les cellules fusionnées sont de taille identiques"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    [Feuil11].Copy
    [Feuil11].Cells.Copy
    ActiveSheet.Cells.PasteSpecial (xlPasteValues)
    'Affiche la boîte de dialogue
    Application.Dialogs(xlDialogSaveAs).Show
    est ce là parceque j'ai des cellules fusionnées???

  9. #9
    Membre expérimenté
    Inscrit en
    Février 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 208
    Par défaut
    bonjour
    Je reviens sur mon code précédent, puisque tu veux effacer les formules de la feuille en cours voici le nouveau code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    et à la main tu sélectionnes tout ta feuille --> Copier
    ensuite Edition --> Collage spécial... --> Valeurs
    à plus

  10. #10
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Par défaut presque
    Le Pierre : ton code fonctionne mais il m'enregitre apres tout le classeur et pas seulement la feuille et si je fait ça :pour dire que juste la feuille, ça marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [Feuil11].Activate
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
          ActiveSheet.Copy
    'Affiche la boîte de dialogue
    Application.Dialogs(xlDialogSaveAs).Show

  11. #11
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Par défaut merci
    c'est tres bon ça marche avec le code précedent je suis ters contente encore merci c'est symapat

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/03/2010, 14h09
  2. Réponses: 4
    Dernier message: 04/07/2009, 15h05
  3. Réponses: 12
    Dernier message: 15/06/2009, 15h27
  4. passer les résultats d'une feuille à une autre feuille
    Par methodman225 dans le forum Excel
    Réponses: 2
    Dernier message: 27/08/2008, 01h15
  5. Réponses: 0
    Dernier message: 27/11/2007, 22h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo