Comment integrer le contenu d'une variable dans une macro

[Résolu/Fermé]
Signaler
Messages postés
6
Date d'inscription
mercredi 9 avril 2014
Statut
Membre
Dernière intervention
21 juin 2016
-
Messages postés
89
Date d'inscription
lundi 14 juillet 2014
Statut
Membre
Dernière intervention
21 septembre 2017
-
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

1 réponse

Messages postés
16527
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 octobre 2021
3 232
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
Messages postés
6
Date d'inscription
mercredi 9 avril 2014
Statut
Membre
Dernière intervention
21 juin 2016

Merci Michel_m
J'essaie cela tout de suite. Et je vais essayer ton autre propositions.
Grand merci
Cdl
Robby
Messages postés
6
Date d'inscription
mercredi 9 avril 2014
Statut
Membre
Dernière intervention
21 juin 2016

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").
Messages postés
16527
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 octobre 2021
3 232 >
Messages postés
6
Date d'inscription
mercredi 9 avril 2014
Statut
Membre
Dernière intervention
21 juin 2016

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...
Messages postés
6
Date d'inscription
mercredi 9 avril 2014
Statut
Membre
Dernière intervention
21 juin 2016

Bonjour
J'ai trouvé j'avais oublié de faire anne-1
Merci
CDL
Robby
Messages postés
89
Date d'inscription
lundi 14 juillet 2014
Statut
Membre
Dernière intervention
21 septembre 2017

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