Macro qui fonctionne que partiellement
danielc0 Messages postés 2000 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai une macro qui fonctionnait et qui ne va plus. Elle sert simplement à vider plusieurs champs dans plusieurs onglets en même temps.
Elle est dédoublée vu que la fonction "array" n'acceptait pas assez d'arguments.
Elle fonctionne que pour les 2 premiers onglets ("AY" et "LP").
Merci au courageux qui me trouve une solution !
Voici la macro :
Sub effacer_tout()
' Macro enregistrée le 02.03.2009 par abc cde
'
Sheets(Array("AY", "BW", "CB", "CH", "DH", "GT", "GV", "IF", "JI", "JN", "JW", "LJ")).Select
Range("C4:J15,C16,C19:C21,C35,C39:D52,D19:D23,D26:D31,D35,D36,G19:G21,G35,H19:H23,H26:H31,H35").ClearContents
Range("C4").Select
Sheets(Array("LP", "MZ", "PR", "Réception", "SD", "YL", "DM", "VP", "AUX")).Select
Range("C4:J15,C16,C19:C21,C35,C39:D52,D19:D23,D26:D31,D35,D36,G19:G21,G35,H19:H23,H26:H31,H35").ClearContents
Range("C4").Select
Sheets("AY").Select
End Sub
- Macro qui fonctionne que partiellement
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
2 réponses
Bonjour,
La syntaxe n'est pas correcte. Essaie :
Sub effacer_tout()
' Macro enregistrée le 02.03.2009 par abc cde
'
Dim arr, sh
Set arr = Sheets(Array("AY", "BW", "CB", "CH", "DH", "GT", "GV", "IF", "JI", "JN", "JW", "LJ"))
For Each sh In arr
sh.Range("C4:J15,C16,C19:C21,C35,C39:D52,D19:D23,D26:D31,D35,D36,G19:G21,G35,H19:H23,H26:H31,H35").ClearContents
Next sh
Set arr = Sheets(Array("LP", "MZ", "PR", "Réception", "SD", "YL", "DM", "VP", "AUX")).Select
For Each sh In arr
sh.Range("C4:J15,C16,C19:C21,C35,C39:D52,D19:D23,D26:D31,D35,D36,G19:G21,G35,H19:H23,H26:H31,H35").ClearContents
Next sh
Range("C4").Select
Sheets("AY").Select
End Sub
Daniel
... Explication :
"Range", quand il n'est pas qualifié, se réfère à la feuille active, pas à l'ensemble des feuilles sélectionnées. La feuille active est la première des feuilles sélectionnées.
Daniel
la boucle fonctionne, cependant la commande "range("C4").select" ne fait pas son job. En effet, lors de l'exécution de la macro, la dernière cellule utilisée reste active et la cellule C4 ne devient pas la nouvelle cellule active. Merci de me redire.