Sélectionner le classeur ouvert pour exécuter le programme
Résolu
Yolasyos
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
Yolasyos Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Yolasyos Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vous explique d'abord ce que je suis entrain de faire:
J'ai un fichier excel qui doit rester le même. Je copie une feuille de ce fichier excel dans un autre classeur, puis je renomme mon fichier excel et je voudrais éliminer toutes les lignes où il y a un 0.
Je réussis à copier la feuille et renommer le nouveau classeur, par contre le code qui me supprime les lignes où il y a des 0, l'exécute sur mon premier classeur. Alors que moi je veux qui les supprime dans le nouveau.
Donc j'ai voulu activer ou sélectionner le nouveau classeur pour pouvoir exécuter le code qui supprime les lignes où il y a les 0, mais ça ne marche pas.
NB: Je suis qu'un débutant de VBA.
SVP j'ai besoin d'aide.
Je vous montre mon code:
Sub export()
'=> Copier et coller la feuille des risques identifiés
Workbooks("Outil_de_pilotage_des_risques_V3.xlsm").Worksheets("Risques identifiés postes").Copy
'=> Nommer et séléctionner le nouveau classeur
ActiveWorkbook.SaveAs Filename:="Risques identifiés projet"
ActiveWorkbook.SaveAs FileFormat:=52
Workbooks("Risques identifiés projet.xlsm").Worksheets("Risques identifiés postes").Select
'=> Suppression des lignes valeurs nulles
Dim i As Long
Application.ScreenUpdating = False
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(i, 2) = 0 Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub
Je vous explique d'abord ce que je suis entrain de faire:
J'ai un fichier excel qui doit rester le même. Je copie une feuille de ce fichier excel dans un autre classeur, puis je renomme mon fichier excel et je voudrais éliminer toutes les lignes où il y a un 0.
Je réussis à copier la feuille et renommer le nouveau classeur, par contre le code qui me supprime les lignes où il y a des 0, l'exécute sur mon premier classeur. Alors que moi je veux qui les supprime dans le nouveau.
Donc j'ai voulu activer ou sélectionner le nouveau classeur pour pouvoir exécuter le code qui supprime les lignes où il y a les 0, mais ça ne marche pas.
NB: Je suis qu'un débutant de VBA.
SVP j'ai besoin d'aide.
Je vous montre mon code:
Sub export()
'=> Copier et coller la feuille des risques identifiés
Workbooks("Outil_de_pilotage_des_risques_V3.xlsm").Worksheets("Risques identifiés postes").Copy
'=> Nommer et séléctionner le nouveau classeur
ActiveWorkbook.SaveAs Filename:="Risques identifiés projet"
ActiveWorkbook.SaveAs FileFormat:=52
Workbooks("Risques identifiés projet.xlsm").Worksheets("Risques identifiés postes").Select
'=> Suppression des lignes valeurs nulles
Dim i As Long
Application.ScreenUpdating = False
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(i, 2) = 0 Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub
A voir également:
- Sélectionner le classeur ouvert pour exécuter le programme
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Programme demarrage windows - Guide
- Comment sélectionner un message sur whatsapp pour y répondre - Guide
- Mettre en veille un programme - Guide
- Message programmé iphone - Guide
1 réponse
Bonjour,
le code marche, quelque modifs qui n'ont rien a voir:
le code marche, quelque modifs qui n'ont rien a voir:
Sub export()
Dim i As Long
Application.ScreenUpdating = False
'=> Copier et coller la feuille des risques identifiés
'????? y pas le coller, pas utile
'Workbooks("Outil_de_pilotage_des_risques_V3.xlsm").Worksheets("Risques identifiés postes").Copy
'=> Nommer et séléctionner le nouveau classeur
'mettre nom et format sur meme ligne autrement 2 fichiers: 1 xlsx et 1 xlsm
ActiveWorkbook.SaveAs Filename:="Risques identifiés projet", FileFormat:=52
Workbooks("Risques identifiés projet.xlsm").Worksheets("Risques identifiés postes").Select
'=> Suppression des lignes valeurs nulles
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(i, 2) = 0 Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub
Moi je voudrais copier la feuille sur un autre classeur que je nomme Risques identifiés projet puis j'exécute le programme de suppression des lignes de valeurs nulles.
Merci pour ton aide si tu peux juste me montrer comment je peux faire ça.
actuellement vous renommez le classeur a la sauvegarde et le code supprime bien les lignes avec cellule a 0 colonne B sur le classeur nomme Risques identifiés projet, pas de modif dans le classeur d'origine.
Oui.
Au départ mon classeur est nommé outil de pilotage des risques, il le renomme Risques identifiés projet et supprime bien les lignes ou il y a les 0. Par contre moi je voudrais juste copier la feuille du classeur outil de pilotage des risques sur un autre classeur que je veux nommer Risques identifiés projet, puis procéder à la suppression des lignes ou il y a des 0.
Il manque juste un petit truc.
Merci,
Il manque juste un petit truc. Non, c'est pas du tout le meme code, sauf la sup des lignes. Je vous fais un code
avec ce type de programmation, presque le meme code:
si vous n'avez pas besoin du code VBA dans le nouveau classeur, enlevez: , FileFormat:=52