Copier / coller des cellules sur une colonne

Bonjour,

je veux avec mon code ouvrir un fichier excel aprés selectionner des cellules sur une colonne et les copiers vers mon fichier.

voila le code que j'utilise quand je le lance il bug au niveau de la selection et copy :'(

helpppp !

Private Sub CommandButton21_Click()
Dim LeFichier0 As String
Set WkbS0 = ThisWorkbook 'Affecte à WkbS (source) le fichier actif, qui contient la macro
LeFichier0 = Application.GetOpenFilename("Fichier Excel (*.xls*), *.xls*")
If LeFichier0 <> "False" Then
    Application.Workbooks.Open LeFichier0
    Set WkbC0 = ActiveWorkbook 'Affecte la variable ou fichier qui vient d'être ouvert, donc de l'utilisateur
End If
'A partir d'ici tu peux utiliser les variables WkbS et WkbC
WkbC0.Activate
Dim valeur As Range

Dim valeur0 As Range

Sheets("Parc PV").Range(Cells(94, 2), Cells(122, 2)).Copy

WkbS0.Activate
Sheets("CC_tam").Range("a65000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
end sub

Bonjour,

Bonjour,

voici le fichier exemple,

en cliquant sur "ajouter un rapport journalier" une fenetre s'ouvre on selectionner le fichier source et ce que je voudrais c'est de copier les donnees situé sur la colonne B, de la cellule 94 jusqu'a 122.

avec mon code sa marche pas :'(

help !

17copier-valeurs.xlsm (17.29 Ko)

Bonjour,

Private Sub CommandButton1_Click()
Dim WkbS0 As Workbook, WkbC0 As Workbook
Dim WsbS0 As Worksheet, WsbC0 As Worksheet
Dim LeFichier0 As String
    Set WkbS0 = ThisWorkbook 'Affecte à WkbS (source) le fichier actif, qui contient la macro
    Set WsbS0 = WkbS0.Sheets("feuil1")
    Application.ScreenUpdating = False
    LeFichier0 = Application.GetOpenFilename("Fichier Excel (*.xls*), *.xls*")
    If LeFichier0 <> "False" Then
        Application.Workbooks.Open LeFichier0
        Set WkbC0 = ActiveWorkbook 'Affecte la variable ou fichier qui vient d'être ouvert, donc de l'utilisateur
        Set WsbC0 = WkbC0.Sheets("Parc PV")
    End If
    WsbS0.Range("A" & Rows.Count).End(xlUp)(2).Resize(29) = WsbC0.Cells(94, 2).Resize(29).Value
    Application.CutCopyMode = False
    WkbC0.Close
    Set WkbC0 = Nothing: Set WkbS0 = Nothing: Set WsbC0 = Nothing: Set WsbS0 = Nothing
End Sub

A+

Parfait merci !

Bonjour,

je me permet de réouvrir le sujet, j'aimerais ajouter un petit truc au code, pour qu'il remplace le vide par des 0, dans le cas ou la selection est vide. c'est possible ?

Private Sub CommandButton1_Click()
Dim WkbS0 As Workbook, WkbC0 As Workbook
Dim CelC As Range
Dim Decalage As Integer
Dim LeFichier0 As String
    Set WkbS0 = ThisWorkbook 'Affecte à WkbS (source) le fichier actif, qui contient la macro
    Application.ScreenUpdating = False
    LeFichier0 = Application.GetOpenFilename("Fichier ExCelC (*.xls*), *.xls*")
    If LeFichier0 <> "False" Then
        Application.Workbooks.Open LeFichier0
        Set WkbC0 = ActiveWorkbook 'Affecte la variable ou fichier qui vient d'être ouvert, donc de l'utilisateur
    End If
    With WkbS0.Sheets("feuil1")
        Decalage = .Range("A" & Rows.Count).End(xlUp).Row
        For Each CelC In WkbC0.Sheets("Parc PV").Cells(94, 2).Resize(29)
            If CelC <> "" Then
                .Range("A1").Offset(Decalage) = CelC.Value
            Else
                .Range("A1").Offset(Decalage) = Val(CelC.Value)
            End If
            Decalage = Decalage + 1
        Next CelC
    End With
    Application.CutCopyMode = False
    WkbC0.Close
    Set WkbC0 = Nothing: Set WkbS0 = Nothing
End Sub

A+

Rechercher des sujets similaires à "copier coller colonne"