Coller valeurs sélection multiple vers autre feuille

Bonjour à tous,

Tout d'abord merci de me lire, je vous présente rapidement mon travail dans ce paragraphe introductif, pour la requête VBA c'est dans le paragraphe suivant.

J'utilise dans le cadre de mon stage des données publiques de l'OCDE sur l'aide au développement (PI SNTP++).

Je souhaite réaliser un tableau de bord donnant une ventilation par Pays et par secteur de l'aide au développement. Ce dernier regroupe l'ensemble des données d'aide des agences mais permet aussi d'établir des indicateurs à partir de ces données.

Ainsi je sépare tout d'abord les données du SNTP++ par agence/ministère donateur puis je sélectionne certaines colonnes (code pays bénéficiaire, aide à l'environnement, code secteur, montant versé et montant recu).

Je copie/colle ensuite ces données dans un convertisseur qui me permet d'obtenir ma ventilation pays/secteur.

Je dois ensuite copier les valeurs obtenues dans ce format dans mon tableau de bord. Cette dernière tache est longue, fastidieuse et source d'erreurs.

Dans cette optique j'ai ajouté un onglet "convertisseur" à mon tableau de bord.

Je colle (collonnes AO à AS) dans ce dernier mes 5 collonnes de "l'agence X" issues du SNTP++ et je n'ai plus qu'à copier/coller les valeurs vers mon onglet "agence X" dans le tableau de bord.

Je souhaiterais donc pouvoir réaliser une macro qui sélectionne les plages de cellules à copier dans le convertisseur puis qui colles les valeurs à la même position dans la page cible. Ainsi je n'aurai qu'à changer la page cible dès que je rentrerai les données d'une autre agence dans le convertisseur. Les coordonnées de départ et d'arrivée sont les mêmes, les cellules d'arrivée aque je souhaite "remplir" sont toutes les cellules vertes vide de l'onglet "Agence Fr de Dev".

Vous trouverez en PJ mon convertisseur rempli avec des données ainsi qu'une page "agence d'arrivée" du tableau de bord compréssé.

Merci d'avance pour votre aide,

PS: voici 2 codes proposés sur ce forum pour des collages de sélection multiple pour lesquels me tentatives d'adaptation à mes cellules et pour un Past Special Value n'ont pas marché

Sub Macro1()
Range("B4:C4,D7:C7,B10,D10").Select
For Each cel In Selection
cel.Copy
Sheets("Feuil7").Select
Range(cel.Address).Select
ActiveSheet.Paste
Next cel
End Sub
Sub copie_selections_multiples()
Dim DerLig As Long, Col As Byte
With Sheets("Feuil2")
Col = 1
    For Each air In Selection.Areas
        DerLig = .Cells(65000, Col).End(xlUp).Row + 1
        air.Copy .Cells(DerLig, air.Column)
        Col = air.Column
    Next air
End With
End Sub

Bonjour Paretoptimal, bonjour le forum

Peut-être comme ça :

Dim C As Range

Sheets("Convertisseur").Range("B4:C4,D7:C7,B10,D10").Select
For Each C in Selection
     Sheets("Agence FR du Dev").Range(C.Address).Value = C.Value
Next C

Bonjour TauThème,

Ta solution fonctionne, merci beaucoup pour ton aide.

Je vais aller beaucoup plus vite maintenant.

Sub test()
Dim C As Range

Sheets("Convertisseur").Select
Dim MyRange As Range

Set MyRange = Union( _
Range("K14:K25,M14:O25,Q14:R25,T14:X25,Z14:AA25,AC14:AC25,AE14:AG25,AI14:AK25,AM14:AM25"), _
Range("K32:K37,M32:O37,Q32:R37,T32:X37,Z32:AA37,AC32:AC37,AE32:AG37,AI32:AK37,AM32:AM37"), _
Range("K41:K91,M41:O91,Q41:R91,T41:X91,Z41:AA91,AC41:AC91,AE41:AG91,AI41:AK91,AM41:AM91"), _
Range("K100:K123,M100:O123,Q100:R123,T100:X123,Z100:AA123,AC100:AC123,AE100:AG123,AI100:AK123,AM100:AM123"), _
Range("K127:K141,M127:O141,Q127:R141,T127:X141,Z127:AA141,AC127:AC141,AE127:AG141,AI127:AK141,AM127:AM141"), _
Range("K148:K156,M148:O156,Q148:R156,T148:X156,Z148:AA156,AC148:AC156,AE148:AG156,AI148:AK156,AM148:AM156"), _
Range("K160:K179,M160:O179,Q160:R179,T160:X179,Z160:AA179,AC160:AC179,AE160:AG179,AI160:AK179,AM160:AM179"), _
Range("K183:K196,M183:O196,Q183:R196,T183:X196,Z183:AA196,AC183:AC196,AE183:AG196,AI183:AK196,AM183:AM196"), _
Range("K201:K219,M201:O219,Q201:R219,T201:X219,Z201:AA219,AC201:AC219,AE201:AG219,AI201:AK219,AM201:AM219"))
MyRange.Select

For Each C In Selection
     Sheets("Agence FR du Dev").Range(C.Address).Value = C.Value
Next C
End Sub

A bientôt

Rechercher des sujets similaires à "coller valeurs selection multiple feuille"