Copier/coller valeurs depuis fichier externe

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
Avatar du membre
las-dias
Membre habitué
Membre habitué
Messages : 51
Inscrit le : 1 octobre 2017
Version d'Excel : 2010

Message par las-dias » 24 août 2018, 12:50

Bonjour à tous,
Etudiant débutant en Excel, je souhaite réaliser une macro capable de réaliser les étapes suivantes :
Je vous remercie à l'avance, votre soutien m'est précieux. ;;)

1- DUPLIQUER L’ONGLET DU DERNIER MOIS :
Dans le fichier ’’Mensuel Synthèse 2018’’, dupliquer l’onglet du dernier mois .
Ex : si le dernier mois est ‘’juin’’, donc créer une copie de ‘’juin’’ et la renommer ensuite par le nom du mois suivant => ex : ‘’juillet’’
Dans la cellule ‘’C2’’ insérer la date (jour/mois/année) de l’onglet. Exemple, si l’onglet qu’on vient de renommer est ‘’juillet’’ donc la date dans ‘’C2’’ est : ‘’01/07/2018’’.

2- EFFACER LES DONNEES :
Effacer les données qui se situent uniquement dans les plages jaunes (du nouvel onglet dupliqué)

3- COPIER/COLLER :
COPIER les valeurs depuis ‘’Mensuel_jul18’’ et les COLLER dans les plages jaunes vides (collage en valeur) dans le fichier '’Mensuel Synthèse 2018’’ dans l''onglet ''juillet’’.

Si la macro ne trouve pas de données à coller alors qu’il existe bien une/ou plusieurs plages jaunes vide (dans ‘’Mensuel Synthèse 2018’’). => La macro affiche à la fin un MsgbBox incluant le nombre de plages non remplies, MsgBox : Ex : ‘’4 plages non remplis’’ ;

QUELQUES REMARQUES (qui peuvent être utile) :
- Malheureusement on n’a pas la même structure entre les 2 tableaux (lignes/colonnes). De préférence, on ne souhaite pas modifier leur structure.
- Le nom des partie (en couleur marron) est le même entre les deux fichiers.
- Le nom des indicateurs (à gauche des plages jaunes) change entre les deux fichiers, donc je pense qu’on ne peut renvoyer les valeurs en fonction de ces indicateurs.
- Des fois, le nom des sous parties (en couleur grise) n’est quasiment pas le même entre les deux fichiers. Mais, le début du nom reste le même mais la fin non.
Ex : Voir cellule A59 (fichier source): Amount of contracts in force (annualized - in 2010 and 2011)
A40 (fichier d’arrivé): Amount of contracts in force


OBJECTIF : obtenir les résultats (en rouge) de l’onglet ‘’Juillet résultats souhaités’’ (fichier Mensuel synthèse 2018).
Mensuel_jul18.xlsx
(102.43 Kio) Téléchargé 2 fois
Mensuel Synthèse 2018.xlsx
(124.96 Kio) Téléchargé 3 fois
Avatar du membre
nonesofar13
Membre fidèle
Membre fidèle
Messages : 416
Appréciation reçue : 1
Inscrit le : 15 février 2016
Version d'Excel : 2013 FR

Message par nonesofar13 » 24 août 2018, 17:16

Salut,

Est-ce que tu as un bout de code à nous proposer, pour qu'on puisse t'aider à la corriger?
Avatar du membre
las-dias
Membre habitué
Membre habitué
Messages : 51
Inscrit le : 1 octobre 2017
Version d'Excel : 2010

Message par las-dias » 25 août 2018, 13:16

malheureusement non, je suis débutant je ne sais pas rédiger en VBA :oops:
Avatar du membre
nonesofar13
Membre fidèle
Membre fidèle
Messages : 416
Appréciation reçue : 1
Inscrit le : 15 février 2016
Version d'Excel : 2013 FR

Message par nonesofar13 » 27 août 2018, 12:42

Salut,

Alors je comprends que tu sois débutant en vba.
Et tu es le bienvenue pour apprendre le langage.
Mais faut pas non plus que ce soit aux membres du forum de faire ton travail :) .

Pour t'aider à avancer, un modèle de code pour DUPLIQUER L’ONGLET DU DERNIER MOIS :
Sub Liste_copie_Feuille()
 Dim sht As Worksheet
  For Each sht In ThisWorkbook.Worksheets
   Select Case sht.Name
    Case "Juin"
        sht.Copy After:=sht
        Set srt = ActiveSheet
        srt.Name = "Juillet"
    Case "Juillet"
        sht.Copy After:=sht
        Set srt = ActiveSheet
        srt.Name = "Aout"
    Case "Aout"
        sht.Copy After:=sht
        Set srt = ActiveSheet
        srt.Name = "Septembre"
        'Faire le reste pour les autres mois de l'année.... si besoin
   End Select
  Next
End Sub
Après à toi de chercher pour faire les autres exécutions.

Cordialement.
Avatar du membre
las-dias
Membre habitué
Membre habitué
Messages : 51
Inscrit le : 1 octobre 2017
Version d'Excel : 2010

Message par las-dias » 27 août 2018, 14:24

Salut nonesofar13 :)
D'abord je voudrais te remercier pour le VBA. Je viens de tester la Macro, il existe un soucis, la macro prend en compte la 1 ère feuille du classeur (toujours la 1ère feuille quelque soit le mois).
Le but c'est qu'elle prenne en compte la dernière feuille pour créer la nouvelle. (si le dernier mois est Novembre, donc => Décembre).
Est ce que tu as une idée de ce qu'il faut changer dans le VBA ?
Merci.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message