Comment integrer le contenu d'une variable dans une macro

Résolu/Fermé
robbynasch Messages postés 6 Date d'inscription mercredi 9 avril 2014 Statut Membre Dernière intervention 21 juin 2016 - 21 juin 2016 à 08:39
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022 - 21 juin 2016 à 14:05
Bonjour,
Nous sommes dans une feuille qui gère la comptabilité d'une association
J'ai créé une macro afin de récupérer automatiquement les données de l'année n-1, pour les recopier dans l'année n. Jusqu’à présent tout est OK.
Mais je voudrais l'améliorer , en effet a chaque plan comptable il faut que j'aille dans la macro changer l'année en cours : voici le debut de la macro :

Sub ImporterDonneesSansOuvrir()

Dim chemin As String, fichier As String
chemin = "F:\Poney Club du Moulin\Comptabilité\"
fichier = "2015_Comptabilité Poney Club.xlsm"

'Actualisation feuille compte de résultat général
'Plage D8 à D21 compte de résultat général
ThisWorkbook.Names.Add "plagecrg", _
RefersTo:="='" & chemin & "[" & fichier & "]Compte de résultat général'!$C$8:$C$21"

With Sheets("Compte de résultat général")
Worksheets("Compte de résultat général").Range("D8:D21").NumberFormat = "#,##0.00 $"
Worksheets("Compte de résultat général").Range("C8:C21").NumberFormat = "#,##0.00 $"
Worksheets("Compte de résultat général").Range("E8:E21").NumberFormat = "#,##0.00 $"
Worksheets("Compte de résultat général").Range("C8:E21").NumberFormat = "#,##0.00 $"

.[D8:D21] = "=plagecrg"
.[D8:D21].Copy

Sheets("Compte de résultat général").Range("$D$8:$D$21").PasteSpecial xlPasteValues


End With


Ce qui m'intéresserait serait de passer 2015 (fichier = 2015_Comptabilité..." dans une variable qui existe pour d'autres calcul (elle se trouve dans l'onglet "données générales G3" du style fichier= Données générales G3 + "_Comptabilité Poney Club.xlsm"
Ainsi tout serait automatiser.
Merci de votre aide.
Cordielement Robby

A voir également:

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 21/06/2016 à 09:14
Bonjour

dim An_0 as integer

An_0= sheets("données générales").range("G3")
fichier =An_0 &"_Comptabilité Poney Club.xlsm"

mais pourquoi
Worksheets("Compte de résultat général").Range("D8:D21").NumberFormat = "#,##0.$"
puis
Sheets("Compte de résultat général").Range("$D$8:$D$21").PasteSpecial xlPasteValues


car on ne sait pas trop sur quel classeur tu te situes.... peut-^tre fichier source
An_0-1

peut-^tre simplifier avec
Worksheets("Compte de résultat général").Range("C8:E21").NumberFormat = "#,##0.00 $" 



 Michel
0
robbynasch Messages postés 6 Date d'inscription mercredi 9 avril 2014 Statut Membre Dernière intervention 21 juin 2016
21 juin 2016 à 09:25
Merci Michel_m
J'essaie cela tout de suite. Et je vais essayer ton autre propositions.
Grand merci
Cdl
Robby
0
robbynasch Messages postés 6 Date d'inscription mercredi 9 avril 2014 Statut Membre Dernière intervention 21 juin 2016
21 juin 2016 à 09:53
Re bonjour Michel
J'ai essayé ta proposition mais cela ne fonctionne pas. Voilà ce que j'ai noté :

Sub ImporterDonneesSansOuvrir()

Dim chemin As String, fichier As String
Dim Annee As Integer
chemin = "F:\Poney Club du Moulin\Comptabilité\"
Annee = Sheets("Données générales").Range("G3")
fichier = Annee & "_Comptabilité Poney Club.xlsm"

'fichier = "2015_Comptabilité Poney Club.xlsm" ' je garde sous le coude

'Actualisation feuille compte de résultat général
'Plage D8 à D21 compte de résultat général
ThisWorkbook.Names.Add "plagecrg", _
RefersTo:="='" & chemin & "[" & fichier & "]Compte de résultat général'!$C$8:$C$21"


Pour faire simple, dans mon classeur j'ai plusieurs onglets pour toute la comptabilité, la macro va chercher les données se trouvant dans plusieurs onglets dans n-1 pour les rapatriér dans n (compte de résultat général, bilan, bilan impots etc). tout cela fonctionne. Sauf l'année sur laquelle on va enregistrer (j'ai oublié de te préciser que cette cellule G3 a un nom "année_de_l_exercice").
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > robbynasch Messages postés 6 Date d'inscription mercredi 9 avril 2014 Statut Membre Dernière intervention 21 juin 2016
21 juin 2016 à 10:03
tu es obligé d'ouvrir le fichier an_ 0 !!!

Mettre les 2 classeurs dans un .zip (seulement les feuilles concernées) sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci par un clic droit sur le lien proposé dans le message de réponse


sinon on n'en sortira pas...
0
robbynasch Messages postés 6 Date d'inscription mercredi 9 avril 2014 Statut Membre Dernière intervention 21 juin 2016
21 juin 2016 à 10:22
Bonjour
J'ai trouvé j'avais oublié de faire anne-1
Merci
CDL
Robby
0
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022
21 juin 2016 à 14:05
Tout fonctionne parfaitement, juste le petit oubli ci-dessus. La personne chargée de la comptabilité est ravie et me demande de te saluer et de te remercier, ce que je fais avec le plus grand plaisir.
Le sujet est resolu
Et un grand merci à la communauté toujours pret à aider. (l'essentiel n'est pas de tout connaitre mais de savoir ou aller chercher l'information)...
CDL
Robby
0