none
Copier plage de cellules Excel vers un autre classeur RRS feed

  • Question

  • Bonjour, dans un projet de classeur Excel 2016, j'ai dans Feuil1 une plage de cellules (A1,C2) que je souhaite copier dans un nouveau classeur.

    Voici mon code et l'erreur que j'obtient :

    Public Class Feuil1
        Dim XlStock As New Excel.Application
        Dim XlClass As Excel.Workbook
        Dim NameRanged1 As NamedRange = Controls.AddNamedRange(Range("A1", "C2"), "NameRanged1")
        Dim missing As Object = Reflection.Missing.Value
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            XlStock.Visible = True
            NameRanged1.Select()
            NameRanged1.Copy()
            XlClass = XlStock.Workbooks.Add(missing)
            XlStock.Selection.Paste()
        End Sub
    End Class
    


    JF Collombet ® CreateSpecificCulture

    dimanche 11 octobre 2015 06:17

Réponses

  • Merci cela m'a bien aider et voici du coup mon code pour copier ma sélection de cellule vers un nouveau classeur excel :

        Dim NameRanged1 As NamedRange = Controls.AddNamedRange(Range("A1", "C4"), "NameRanged1")
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            NameRanged1.Copy()
            Dim NewBook As Excel.Workbook = Application.Workbooks.Add()
            Dim NewSheet As Excel.Worksheet = NewBook.Sheets(1)
            NewSheet.Paste()
        End Sub


    JF Collombet ® CreateSpecificCulture

    mardi 13 octobre 2015 16:11
  • Bonjour, jeffcollombet,

    Veuillez consulter l'extrait du code de Jeremy Thompson qui fait usage de la méthode Worksheet.Paste :
    Copy first row in excel workbook to a new excel workbook
    Je vous remercie par avance de votre retour.

    Cordialement,
    Teodora


    Votez! Appel à la contribution TechNet Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mardi 13 octobre 2015 14:08
    Modérateur

Toutes les réponses

  • Bonjour, jeffcollombet,

    Pourriez-vous essayer d’utiliser la méthode Insert ? L’interface Range ne contient pas, en effet, de méthode Paste. Est-ce que Insert correspond à votre objectif ?

    Coridialement,
    Dimitar

    lundi 12 octobre 2015 06:15
    Modérateur
  • Merci pour le lien mais je ne vois pas comment utiliser clairement cette méthode

    Function Insert ( _
    	Shift As Object, _
    	CopyOrigin As Object _
    ) As Object
    'Utilisation
    Dim instance As Range
    Dim Shift As Object
    Dim CopyOrigin As Object
    Dim returnValue As Object
    
    returnValue = instance.Insert(Shift, CopyOrigin)
    si vous pouviez m'aider avec un bout de code concret en rapport avec le mien je vous en serais reconnaissant


    JF Collombet ® CreateSpecificCulture

    lundi 12 octobre 2015 15:59
  • Bonjour, jeffcollombet,

    Veuillez consulter l'extrait du code de Jeremy Thompson qui fait usage de la méthode Worksheet.Paste :
    Copy first row in excel workbook to a new excel workbook
    Je vous remercie par avance de votre retour.

    Cordialement,
    Teodora


    Votez! Appel à la contribution TechNet Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mardi 13 octobre 2015 14:08
    Modérateur
  • Merci cela m'a bien aider et voici du coup mon code pour copier ma sélection de cellule vers un nouveau classeur excel :

        Dim NameRanged1 As NamedRange = Controls.AddNamedRange(Range("A1", "C4"), "NameRanged1")
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            NameRanged1.Copy()
            Dim NewBook As Excel.Workbook = Application.Workbooks.Add()
            Dim NewSheet As Excel.Worksheet = NewBook.Sheets(1)
            NewSheet.Paste()
        End Sub


    JF Collombet ® CreateSpecificCulture

    mardi 13 octobre 2015 16:11