VBA problème macro et duplication de fichiers macro
Résolu
caroouline
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai créé une macro avec l'outil enregistrement macro.
Le but de cette macro consiste à effacer certaines cellules et propager mes formules.
Ma VBA ressemble à ça :
Sub Effacement()
'
' Effacement Macro
'
'
ActiveWorkbook.Worksheets("ACHATS 2018").AutoFilter.Sort.SortFields.Clear
Range("C5").Select
Selection.ClearContents
Range("E5").Select
Selection.ClearContents
Range("B2").Select
Selection.ClearContents
Range("I5").Select
Selection.ClearContents
Range("N5").Select
Selection.ClearContents
Rows("6:6").Select
Range(Selection, Selection.End(xlDown)).Select
Rows("6:132").Select
Selection.FillDown
ActiveWindow.LargeScroll Down:=-2
Range("C5").Select
End Sub
Mon problème est que ma macro ne marche pas (l'indice n'appartient pas à la sélection)
De plus j'aimerais dupliquer ce fichier par la suite en changeant le nom du fichier et en gardant la macro. Est-ce possible? et comment?
Pourriez-vous m'expliquer ce que veut dire la première ligne qui commence par active et la dernière qui commence par active aussi.
J'ai créé une macro avec l'outil enregistrement macro.
Le but de cette macro consiste à effacer certaines cellules et propager mes formules.
Ma VBA ressemble à ça :
Sub Effacement()
'
' Effacement Macro
'
'
ActiveWorkbook.Worksheets("ACHATS 2018").AutoFilter.Sort.SortFields.Clear
Range("C5").Select
Selection.ClearContents
Range("E5").Select
Selection.ClearContents
Range("B2").Select
Selection.ClearContents
Range("I5").Select
Selection.ClearContents
Range("N5").Select
Selection.ClearContents
Rows("6:6").Select
Range(Selection, Selection.End(xlDown)).Select
Rows("6:132").Select
Selection.FillDown
ActiveWindow.LargeScroll Down:=-2
Range("C5").Select
End Sub
Mon problème est que ma macro ne marche pas (l'indice n'appartient pas à la sélection)
De plus j'aimerais dupliquer ce fichier par la suite en changeant le nom du fichier et en gardant la macro. Est-ce possible? et comment?
Pourriez-vous m'expliquer ce que veut dire la première ligne qui commence par active et la dernière qui commence par active aussi.
A voir également:
- VBA problème macro et duplication de fichiers macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Duplication écran - Guide
- Macro word - Guide
4 réponses
Bonjour,
la macro fonctionne très bien.
Ce qui fait qu'elle ne fonctionne pas, c'est le fait qu'aucun filtre n'est appliqué sur la feuille.
Puisque dans le code, tu demandes à réinitialiser les filtres qui n'existent pas.
Si tu dupliques ton fichier, la macro reste avec, si elle est intégrée au classeur.
Au passage, j'ai légèrement allégé ton code :
Sans pointer un nom de Sheet, il faut le mettre dans la Feuil2 (ACHATS 2018)
Ainsi, si tu dupliques ton fichier, la macro sera associé à Feuil2
la macro fonctionne très bien.
Ce qui fait qu'elle ne fonctionne pas, c'est le fait qu'aucun filtre n'est appliqué sur la feuille.
Puisque dans le code, tu demandes à réinitialiser les filtres qui n'existent pas.
Si tu dupliques ton fichier, la macro reste avec, si elle est intégrée au classeur.
Au passage, j'ai légèrement allégé ton code :
Sans pointer un nom de Sheet, il faut le mettre dans la Feuil2 (ACHATS 2018)
Ainsi, si tu dupliques ton fichier, la macro sera associé à Feuil2
Sub Effacement() AutoFilter.Sort.SortFields.Clear Range("C5").ClearContents Range("E5").ClearContents Range("B2").ClearContents Range("I5").ClearContents Range("N5").ClearContents Rows("6:6").Select Range(Selection, Selection.End(xlDown)).Select Rows("6:132").FillDown ActiveWindow.LargeScroll Down:=-2 Range("C5").Select End Sub
Encore plus simple:
Ligne filtre a supprimer si en effet pas de filtre
Et pour pouvoir dupliquer son fichier/macro, sans l'attribuer à un nom de feuille spécifique :
lecture/compréhension du code
Tout a fait Thierry mais: l'efficacité d'execution, le moins de ligne possible et "élever" le niveau doivent être le but a atteindre
Pout duplication, faite le manip avec le avec l'enregistreur de macro et modifiez