Copier coller en valeur dans un autre classeur

CedricG62 Messages postés 40 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Alors voilà, je veux copier coller une feuille nommée "IENET" d'un classeur dans un nouveau classeur.
Le problème c'est que les valeurs proviennent de formules, il faut donc faire un copier coller en valeur.
Ci-dessous mon code : (en vert c'est ce que j'ai essayé mais ça ne fonctionnait pas et en noir, j'ai trouvé cette solution sur un forum mais ça ne copie pas en valeur donc j'ai des erreurs dans mes données au moment de coller)
Private Sub CommandButton3_Click()
Sheets("IENET").Activate
'ActiveSheet.Cells.Select
'Selection.Copy
'Worksheets.SaveAs Filename:="Fichier importation dans IENET"
'Workbooks("Fichier importation dans IENET.xlsx").Activate
'Range("A1").Select
'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
'    :=False, Transpose:=False
ThisWorkbook.ActiveSheet.Copy _
Before:=Workbooks.Add.Worksheets(1)
End Sub

Ensuite, j'ai vu qu'il était possible d'ouvrir automatiquement une fenêtre d'enregistrement du nouveau fichier mais je n'arrive également pas à le mettre en place...

Merci de votre aide,

Cédric

3 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    A adapter:

    Sub Creer_Classeur_Valeur()
        Application.ScreenUpdating = False    'desactive  rafraichissement Excel
        chemin = ActiveWorkbook.Path & "\"        'chemin du classeur actif
        Worksheets("Bibli.").Range("A1").CurrentRegion.Copy
        With Application
            .Workbooks.Add
        End With
        With ActiveWorkbook
            Worksheets("Feuil1").Select
            Range("A1").PasteSpecial Paste:=xlValues, Operation:=xlNone, _
                    SkipBlanks:=False, Transpose:=False
            'enregistrement dans un nouveau classeur
            Application.DisplayAlerts = False   'desactive les alertes Excel
                '.Title = ActiveSheet.Name             'titre  pour propriete/detail du classeur
                '.Subject = ActiveSheet.Name       ' objet pour propriete/detail du classeur
            .SaveAs Filename:=chemin & "Test_A FAIRE.xlsx"          'sauvegarde le nouveau classeur
            .Close True     'ferme le nouveau classeur avec sauvegarde
        End With
        Application.DisplayAlerts = True    'active les alertes Excel
        Application.ScreenUpdating = True    'active rafraichissement Excel
    End Sub
    
    0
    1. CedricG62 Messages postés 40 Statut Membre
       
      Bonjour,

      Après adaptation des noms dans le code, en la lançant pour tester, j'ai ces 2 lignes là en erreurs :
              Range("A1").PasteSpecial Paste:=xlValues, Operation:=xlNone, _
                      SkipBlanks:=False, Transpose:=False

      Si vous avez besoin de mon fichier pour essayer directement, ci-dessous le lien :
      https://www.cjoint.com/c/LFolNMcHwrk
      (le code est le 3ème dans la feuil3)
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Excel est un peu capricieux de temps en temps.

    Fichier modifie: https://www.cjoint.com/c/LFooyzIidKg
    0
    1. CedricG62 Messages postés 40 Statut Membre
       
      Bonjour,

      En effet, maintenant ça fonctionne ; il y a juste la date qui affiche "44726" au lieu de "14/06/2022"
      J'ai changé dans le code :
                  .Range("A1").PasteSpecial Paste:=xlValues, Operation:=xlNone, _
                      SkipBlanks:=False, Transpose:=False

      En ça :
                  .Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
                      SkipBlanks:=False, Transpose:=False

      Mais rien ne change alors que lorsque j'enregistre la macro en faisant la manipulation manuellement, c'est le code que j'ai changé qui ressort mais là ça ne fonctionne pas (voir le fichier ci-dessous)
      https://www.cjoint.com/c/LFpgG6i7djk
      0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Pouvez mettre le fichier xlsm ald xlsx
    0
    1. CedricG62 Messages postés 40 Statut Membre
       
      Ci-joint le fichier :
      https://www.cjoint.com/c/LFphGU8Fvtk
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > CedricG62 Messages postés 40 Statut Membre
         
        Bonjour,

        Fichier modifie pour format Date: https://www.cjoint.com/c/LFpiCMaWA2g
        1
      2. CedricG62 Messages postés 40 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        Merci c'est nickel comme ça
        Auriez vous une astuce pour régler la taille d'écriture du Userform2 car là c'est en tout petit alors que j'ai changé sa dimensions avec ça :
        UserForm1.Height = 435
        UserForm1.Width = 300
        0
      3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > CedricG62 Messages postés 40 Statut Membre
         
        Re,

        Vous pouvez regler la taille ecriture dans les proprietes des objets
        Pourquoi avoir fait une Userform si petite?
        0
      4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        Suite:

        Fichier avec UF modifiees: https://www.cjoint.com/c/LFpqnkzdWdg
        0