Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

copie speciale valeur cellules par vba

  • Initiateur de la discussion Initiateur de la discussion beann
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

beann

XLDnaute Nouveau
bonjour, on m'a aidé à developper une macro pour importer des données de classeurs vers un autre. ci-dessous le code:

Code:
Private Sub CommandButton2_Click()
Dim wbk As Workbook, awbk As Workbook
Dim wsh As Worksheet
Dim Fich As String
Dim Ligne As Double
 
Application.ScreenUpdating = False
Set awbk = ThisWorkbook
Set wsh = awbk.Sheets("Donnees regroupees")
 
Fich = Dir("C:\Users\M\Documents\*.xls")

Do While Fich <> ""
    With wsh
        Ligne = .Range("A65536").End(xlUp).Row + 1
        Set wbk = Workbooks.Open("C:\Users\M\Documents\Fla\" & Fich)
        wbk.Sheets("Decompte temps").Range("listeplagesource").Copy .Cells(Ligne, 1)
    
    End With
    wbk.Close False
    Fich = Dir
    Set wbk = Nothing
Loop
Set wsh = Nothing
Set awbk = Nothing
Application.ScreenUpdating = True
End Sub


J'aimerais remplacer cette ligne ....

Code:
wbk.Sheets("Decompte temps").Range("listeplagesource").Copy .Cells(Ligne, 1)


.... pour avoir un collage spécial des valeurs uniquement des cellules et non pas comme elles sont dans les classeurs d'origine avec leur formule, etc. Je suppose qu'il faut utiliser la commande Pastespecial mais je ne sais pas comment faire. Je ne suis pas un grand expert vba.

Merci par avance pour votre aide.
 
Re : copie speciale valeur cellules par vba

pour avoir la réponse il te suffit d'enregistrer une macro et de faire une copie de ce que tu veux, de faire un collage spécial, d'arreter l'enregistrement et enfin de regarder le code 😉
 
Re : copie speciale valeur cellules par vba

J'obtiens bien un code du type
Code:
        Range("cellules à nommer").Select
        Selection.Copy
        Range("cellules où coller").Select     
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

mais si je l'adapte à mon code en inscrivant...

Code:
Private Sub CommandButton2_Click()
Dim wbk As Workbook, awbk As Workbook
Dim wsh As Worksheet
Dim Fich As String
Dim Ligne As Double
 
Application.ScreenUpdating = False
Set awbk = ThisWorkbook
Set wsh = awbk.Sheets("Donnees regroupees")
 
Fich = Dir("C:\Users\M\Documents\*.xls")

Do While Fich <> ""
    With wsh
        Ligne = .Range("A65536").End(xlUp).Row + 1
        Set wbk = Workbooks.Open("C:\Users\M\Documents\Fla\" & Fich)
        wbk.Sheets("Decompte temps").Range("listeplagesource").Select
        Selection.Copy
        Range("A1:A65536").Select     
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
   
    End With
    wbk.Close False
    Fich = Dir
    Set wbk = Nothing
Loop
Set wsh = Nothing
Set awbk = Nothing
Application.ScreenUpdating = True
End Sub

...ca fonctionne pas. erreur d'écriture
 
Re : copie speciale valeur cellules par vba

Bonjour le fil,

Essaie ceci. Cela devrait copié les valeurs à partir de la première cellule vide de Wsh colonne A (Si c'est bien ce que tu veux comme je le crois)
Code:
 '......
 With wsh
        Set wbk = Workbooks.Open("C:\Users\M\Documents\Fla\" & Fich)
        wbk.Sheets("Decompte temps").Range("listeplagesource").Copy
        .Range("A65536").End(xlUp).Offset(1).PasteSpecial _
                    Paste:=xlPasteValues, _
                    Operation:=xlNone, _
                    SkipBlanks:=False, _
                    Transpose:=False
 
    End With
.....

A+
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
511
Réponses
4
Affichages
469
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
821
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
178
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…