Passer à l'onglet suivant

Résolu/Fermé
Magzz Messages postés 5 Date d'inscription lundi 27 juin 2016 Statut Membre Dernière intervention 28 juin 2016 - 27 juin 2016 à 14:38
Magzz Messages postés 5 Date d'inscription lundi 27 juin 2016 Statut Membre Dernière intervention 28 juin 2016 - 27 juin 2016 à 15:29
Bonjour,

J'ai réalisé une macro me permettant de passer à l'onglet suivant et d'y effectuer des modifications peu importe le nom de mes onglets.
Le problème est que lorsque j'arrive au dernier onglet, mon activesheet.next ne fonctionne plus vu qu'il n'y a plus d'onglet, et il me fait donc planter ma macro.

Quelqu'un aurait un idée?


While ActiveSheet.Next.Name <> ""
ActiveSheet.Columns("F:U").Copy
Cells(1, 6).PasteSpecial Paste:=xlPasteValues
ActiveSheet.Columns("A:E").Delete
ActiveSheet.Rows("1:6").Delete
ActiveSheet.Next.Select
Wend



Merci beaucoup!!!
A voir également:

1 réponse

mrjenkins Messages postés 577 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 17 juillet 2018 102
27 juin 2016 à 14:41
Salut,

tu dois passer dans toutes les feuilles ?
Si oui :

Dim wks As Worksheet

'- Begin looping through workbook
For Each wks In ActiveWorkbook.Worksheets
'- Do code with each worksheet
msgbox wks.name
next wks


--
0
Magzz Messages postés 5 Date d'inscription lundi 27 juin 2016 Statut Membre Dernière intervention 28 juin 2016
27 juin 2016 à 14:55
Salut!

Merci beaucoup pour ta réponse déjà!
Alors ça marche presque...
Je sais pas si ton "next wks" est censé faire passer à l'onglet suivant mais en tout cas ça le fait pas... Du coup j'suis toujours bloquée au même point... :(
0
mrjenkins Messages postés 577 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 17 juillet 2018 102
27 juin 2016 à 15:00
Non il ne passe pas visuellement à l'onglet suivant, mais les méthodes que tu vas appeler se feront dessus :

Dim wks As Worksheet

'- Begin looping through workbook
For Each wks In ActiveWorkbook.Worksheets
wks .Columns("F:U").Copy
wks .Cells(1, 6).PasteSpecial Paste:=xlPasteValues
wks .Columns("A:E").Delete
wks .Rows("1:6").Delete
next wks


Si je me trompe pas, il le fera sur tous les onglets =)
0
Magzz Messages postés 5 Date d'inscription lundi 27 juin 2016 Statut Membre Dernière intervention 28 juin 2016
27 juin 2016 à 15:03
Ah tu mets le wks devant chaque ligne de code!! D'accrod, alors c'est moi qui n'ai pas bien fait le truc!

Ca marche super bien merci beaucoup!!
0
mrjenkins Messages postés 577 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 17 juillet 2018 102
27 juin 2016 à 15:04
Oui, si tu précises pas, il prend celui actif.

Si tu le définis, il va mettre à jour l'onglet là, sans l'afficher :)

Et pas de quoi ;)
0
Magzz Messages postés 5 Date d'inscription lundi 27 juin 2016 Statut Membre Dernière intervention 28 juin 2016
27 juin 2016 à 15:29
Maintenant que tu le dit, ça parait logique!

Encore merci :D
0