Copie plage plusieurs feuilles compilées sur une feuille

Bonjour à tous,

J'ai une difficulté que je n'arrive pas à surmonter qui est celle de sélectionner une plage de cellules de plusieurs feuilles à recopier sur une seule feuille.

J'ai plusieurs feuilles de différents frais budgétés que je veux centraliser sur une feuille pour réaliser un contrôle budgétaire.

Dans l'exemple joint j'ai une feuille "Frais généraux" et une feuille "Frais variable" dont les données sont à regrouper dans une feuille "Ctrl_budgetaire".

J'ai passé mon après-midi à chercher comment en vBA je pouvais sélectionner une plage pour la copier et la coller sur une autre feuille.

J'ai essayé du moins tenté d'utiliser la fonction suivante, mais j'ai une erreur au lancement de la procédure au niveau de la sélection de la plage de cellule.

Sheets("Frais généraux").Activate
Sheets("Frais généraux").Range("G11").Select

'    Sheets("Frais généraux ").Range ("G11:N11" & Sheets("Frais généraux").Range("D65536").End(xlUp).Row)

Sheets("Frais généraux").Range(Range("G11"), Range("N11").End(xlDown)).Select
Selection.Copy

Ce que je ne sais pas faire :

  • Sélectionner une plage jusqu'à la dernière ligne
    Sélectionner une plage non contiguë (Voir la feuille frais variable). Si nécessaire ou compliqué, je déplacerai les colonnes
    Coller à la première ligne libre du tableau au fur et à mesure des tableaux successifs

Je saurai trier pour que l'affichage soit cohérent.

Si vous pouviez m'orienter, je saurai me débrouiller ensuite.

Un adhérant m'avait déjà fourni une solution par extraction sélective pour un autre sujet, mais je n'arrive pas à m'inspirer de la syntaxe qui est trop complexe pour moi.

Je vous joins un extrait du fichier pour appréhender ma difficulté.

Merci par avance

Bonjour à tous

J'ai trouvé partiellement une solution ci-dessous :

Sub Import_Cpte_Budget()
Dim DerLigneFg As Integer, DerLigneAC As Integer, DerLigneAM As Integer, DerLigneFc As Integer

Dim i As Integer, L1 As Integer, C1 As String, L2 As Integer, C2 As String
Dim DerLigneCtrlBudget As Integer
Dim MontantN1 As Double, MontantN As Double

    If MsgBox("Etes-vous certain de vouloir effacer l'ensemble du contenu et refaire la mise à jour." & Chr(10) & Chr(10) & _
    "Si des comptes ont été ajoutés dans les différents tableaux à importer, les valeurs de la balance saisies peuvent être décalées", vbYesNo, "Demande de confirmation") = vbYes Then
    Efface_Cpte_Budget
    Else:
        Exit Sub
    End If

    'On désactive le raffraichissement de l'écran scintillement
    Application.ScreenUpdating = False
    'On appelle la procédure permettant d'effacer les données
    Efface_Cpte_Budget

'**********************
'FRAIS GENERAUX
'**********************
  'On sélectionne la feuille frais généraux
    Sheets("Frais généraux").Select
    'On se positionne sur la dernière ligne non vide
    DerLigneFg = Range("G146").End(xlUp).Row
    'On parcours tout le tableau à partir de la ligne pour copier chacune des lignes
    For i = 11 To DerLigneFg
        Sheets("Frais généraux").Select
        'on sélectionne la première ligne
        C1 = "G"
        L1 = i
        C2 = "N"
        L2 = i
        Range(C1 & L1 & ":" & C2 & L2).Select
        Selection.Copy
        'Selection de la feuille de de controle
        Sheets("Ctrl_Budgetaire").Select
        'Il faut trouver la dernière ligne non vide de la feuille contrôle budgétaire
        DerLigneCtrlBudget = Range("G180").End(xlUp).Row + 1
        'On sélectionne la cellule vide et la première colonne
        Cells(DerLigneCtrlBudget, 7).Select
         'Une fois positionné, on colle les données
        ActiveSheet.Paste
    Next i

Bonjour

Dommage que tu n'aies pas rempli à titre d'exemple ce que tu comptes obtenir sur ta feuille "Ctrl_Budgetaire"

à partir des 2 autres feuilles...

Bye !

Bonjour,

J'ai manqué de temps, pour reprendre mon classeur initial et générer à nouveau pour l'exemple.

Je serai plus précis la prochaine fois, et je fais avec mes faibles connaissance, du moins je bidouille au mieux.

Mes lignes de code ne sont surement pas très propre ou optimisées

Cordialement

Rechercher des sujets similaires à "copie plage feuilles compilees feuille"