éditeur VBA Excel: Réactiver une feuille ouverte au nom variable [Résolu/Fermé]

Signaler
Messages postés
19
Date d'inscription
vendredi 17 mai 2013
Statut
Membre
Dernière intervention
6 juin 2013
-
 borgognoremy -
Bonjour,


https://www.cjoint.com/c/CEEqMJJw1ap

Ci-joint le fichier source avec la macro créée.

Cette macro est sensée créer un nouveau classeur par affaire selon une liste d'affaire sur mon fichier source. Sur chaque classeur créé, je vais devoir réaliser des opérations de collage de données provenant du fichier source et bien d'autres choses. Ces opérations devront être répétée sur chaque classeur créé.

En fait, affaire a été nommé dès le départ dans le paragraphe 'formule boucle' comme étant la variable de cette boucle. Ce numéro d'affaire qui changera donc à chaque création de classeur, je dois l'utiliser à plusieurs moments. Je vais avoir à l'utiliser encore pour d'autres choses mais je vois bien que pour le moment, ça ne marche pas.

Pourriez-vous m'aider s'il vous plait?

Merci d'avance de votre aide.;

Baieta

2 réponses

Messages postés
19
Date d'inscription
vendredi 17 mai 2013
Statut
Membre
Dernière intervention
6 juin 2013

A oublier... problème résolu seul.
Messages postés
1823
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
578
Bonjour,

Pour info si d'autres ont déjà regardé voila les anomalies trouvées :

1/ le bouton n'était pas associé à la macro "Sub Nvx_class_par_affaire"
2/ des erreurs dans la macro corrigées en gras :
Sub Nvx_class_par_affaire()
'Macro créant un nouveaux classeur par projet et exécutant des tâches diverses'
Chemin = ActiveWorkbook.Path
'Formule de boucle'
For L = 2 To Range("A" & Rows.Count).End(xlUp).Row

Sheets("Accueil").Select

affaire = Range("A" & L).Value
ChemFiche = Chemin & "\" & affaire & ".xls"

'Ajout d'un nouveau classeur'
Workbooks.Add

'Renomme les feuilles'
Worksheets("Feuil1").Name = "Résumé"
Worksheets("Feuil2").Name = "Dépenses"
Worksheets("Feuil3").Name = "Engagements"

'Sauvegarde du classeur à l'emplacement du fichier source'
ActiveWorkbook.SaveAs ChemFiche

'activation du fichier source et ouverture feuille Depenses_cum"
Workbooks("Exemple.xlsm").Activate
Sheets("Depenses_m").Select

'Filtre la feuille sur l'affaire'

Rows("1:1").Select
Selection.AutoFilter
ActiveSheet.Range("$A:$Y").AutoFilter Field:=4, Criteria1:=affaire

'Copie des données colonne A à Y'
Range("A:$Y").Copy

'Coller dans le fichier de l'affaire'

Workbooks(affaire & ".xls").Activate

Sheets("Dépenses").Select
Range("A:$Y").Select
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

'Ferme le classeur de l'affaire'
ActiveWorkbook.Close True
Next

End Sub


Voila comme cela je peux mettre en résolu.
Cordialement,

Merci beaucoup pour cette aide. Quelqu'un avait en effet pu m'aider mais un grand merci quand même. Baieta