VBA collage spécial valeur

  • Initiateur de la discussion Initiateur de la discussion Vincent_38
  • 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 !

Vincent_38

XLDnaute Nouveau
Bonjour à tous,

J'ai élaboré une petite macro de consolidation qui me permet d'aller chercher des informations dans une multitude de fichiers et de les coller dans une base commune.

Je n'ai absolument aucune connaissance en VBA et le code qui suit est du bricolage.

Je cherche donc, au lieu d'un simple copier/coller, faire un collage des valeurs... et je n'y arrive pas pour le moment.

Le code :
Code:
Sub macro_exemple_2()
'
    
ReadOnly = True 'active le mode lecture seule
    Workbooks.Open Filename:= _
        "ADRESSE\AA 2013.xlsm" 'ouvre le fichier AA
        
Worksheets("base N").Unprotect ("XX") 'enlève le MDP

    
 Dim Pop As CommandBarPopup
    Worksheets("base N").Activate
    Set Pop = CommandBars("Data").Controls("&Filtrer")
    If Pop.Controls("&Afficher tout").Enabled = True Then
        Worksheets("base N").ShowAllData
    End If 'enlève les filtres en forçant l'affichage de toutes les données
    
Dim source As Workbook, destin As Workbook, derlig As Long
Set source = Workbooks("AA 2013") 'définition du classeur source
Set destin = Workbooks("BB consolidation") 'définition du classeur cible
source.Activate
derlig = source.Sheets("base N").[A65536].End(xlUp).Row 'sélectionner toutes les lignes de la base source à partir de la dernière ligne non vide
source.Sheets("base N").Range("A2:W" & derlig).Copy destin.Sheets("DR base N").Range("A65536").End(xlUp).Offset(1, 0) 'les colle dans la première ligne vide du fichier destinataire



Worksheets("base N").Protect ("XX") 'remet le MDP

Workbooks("AA 2013").Close False
Application.DisplayAlerts = False 'quitte le classe source et empêche la sauvegarde ainsi que les messages d'erreur


'

End Sub

J'ai essayé de spécificer des conditions après le .copy, comme cela :
Code:
With Sheets("base").Range("b65536").End(xlUp)
            .PasteSpecial Paste:=xlPasteValues
            .Application.CutCopyMode = False
        End With

mais cela ne marche pas. Je suis tout à fait conscient qu'il faudra peut être changer la fonction, celle que j'utilise n'est sûrement pas la plus adaptée.

Merci d'avance pour vos lumières.
 
Re : VBA collage spécial valeur

Bonjour Titi, le forum,

Je veux copier les valeurs de toutes les lignes jusqu'à la 2ème non comprise à partir de la dernière ligne non vide et les coller (collage spécial valeur) dans la première ligne vide d'un second fichier.

J'ai mis une pièce-jointe, très simple, qui reprend la structure des fichiers source, et j'espère que mes explications sont claires.
 

Pièces jointes

- 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
XL 2021 VBA excel
Réponses
4
Affichages
45
Réponses
7
Affichages
533
Réponses
9
Affichages
367
Réponses
5
Affichages
474
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
482
Réponses
3
Affichages
485
  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
630
Retour