éditeur VBA Excel: Réactiver une feuille ouverte au nom variable
Résolu
borgognoremy
Messages postés
21
Statut
Membre
-
borgognoremy -
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
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
A voir également:
- éditeur VBA Excel: Réactiver une feuille ouverte au nom variable
- Editeur video windows - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
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,
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,