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   -
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.
A voir également:

4 réponses

Yoyo01000 Messages postés 1639 Date d'inscription   Statut Membre Dernière intervention   168
 
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

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


1
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Encore plus simple:

Ligne filtre a supprimer si en effet pas de filtre

Sub Effacement()
' Effacement Macro
    ActiveWorkbook.Worksheets("ACHATS 2018").AutoFilter.Sort.SortFields.Clear
    Range("B2, C5, E5, I5, N5").ClearContents
    Rows("6:132").ClearContents
End Sub
0
Yoyo01000 Messages postés 1639 Date d'inscription   Statut Membre Dernière intervention   168 > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
J'avais pas allégé autant, pensant que ce serait plus compréhensible pour elle, en terme de lecture/compréhension du code :)

Et pour pouvoir dupliquer son fichier/macro, sans l'attribuer à un nom de feuille spécifique :

Sub Effacement()
    AutoFilter.Sort.SortFields.Clear
    Range("B2, C5, E5, I5, N5").ClearContents
    Rows("6:132").ClearContents
End Sub
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > Yoyo01000 Messages postés 1639 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
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
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

A quelle ligne est l'erreur?
0
caroouline Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

ActiveWorkbook.Worksheets("ACHATS 2018").AutoFilter.Sort.SortFields.Clear
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,
Avant de lancer la macro, c'est le bon nom de feuille et y a un flitre?
0
caroouline Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour yoyo01000,

Je te remercie beaucoup ça marche parfaitement.
Et j'ai compris l'erreur que je fais souvent.

Bonne journée à tous.
0