[VBA Excel] Avancer ou reculer d'1 page
Fermé
tec311
Messages postés
12
Date d'inscription
dimanche 21 novembre 2004
Statut
Membre
Dernière intervention
23 juillet 2006
-
11 mai 2005 à 00:50
Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 - 17 mai 2005 à 19:22
Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 - 17 mai 2005 à 19:22
A voir également:
- [VBA Excel] Avancer ou reculer d'1 page
- Supprimer une page word - Guide
- Liste déroulante excel - Guide
- Si ou excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Word numéro de page 1/2 - Guide
12 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
14 mai 2005 à 01:45
14 mai 2005 à 01:45
Salut,
C'est possible de defiler les feuilles d'Excel avec des macros.
Voila 2 macro qui peuvent faire defiler (avancer ou reculer)
Mais pour ça tu doit :
- créer 2 boutons personnalisés dans une barre d'outils
ou
- créer sur chaque feuille 2 boutons
et leurs affecter les 2 macros
Pour avancer
Sub avancer()
dim nbrFeuille as Long
dim idxFeuille as Long
nbrFeuille = Application.Worksheets.count
idxFeuille = ActiveSheet.Index
If idxFeuille = nbrFeuille Then Exit Sub
Sheets(idxFeuille + 1).Select
End Sub
Pour reculer
Sub reculer()
dim nbrFeuille as Long
dim idxFeuille as Long
idxFeuille = ActiveSheet.Index
If idxFeuille = 1 Then Exit Sub
Sheets(idxFeuille - 1).Select
End Sub
A+
lami20j
C'est possible de defiler les feuilles d'Excel avec des macros.
Voila 2 macro qui peuvent faire defiler (avancer ou reculer)
Mais pour ça tu doit :
- créer 2 boutons personnalisés dans une barre d'outils
ou
- créer sur chaque feuille 2 boutons
et leurs affecter les 2 macros
Pour avancer
Sub avancer()
dim nbrFeuille as Long
dim idxFeuille as Long
nbrFeuille = Application.Worksheets.count
idxFeuille = ActiveSheet.Index
If idxFeuille = nbrFeuille Then Exit Sub
Sheets(idxFeuille + 1).Select
End Sub
Pour reculer
Sub reculer()
dim nbrFeuille as Long
dim idxFeuille as Long
idxFeuille = ActiveSheet.Index
If idxFeuille = 1 Then Exit Sub
Sheets(idxFeuille - 1).Select
End Sub
A+
lami20j
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
14 mai 2005 à 08:07
14 mai 2005 à 08:07
Hello,
...ou encore :
...ou encore :
Sub Avancer() If ActiveSheet.Index < Worksheets.Count Then Sheets(ActiveSheet.Index + 1).Activate End If End Sub Sub Reculer() If ActiveSheet.Index > 1 Then Sheets(ActiveSheet.Index - 1).Activate End If End Sub
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 716
14 mai 2005 à 10:24
14 mai 2005 à 10:24
bonjour
très bien cette formule car pourquoi faire compliqué
quand on peut faire simple.
très bien cette formule car pourquoi faire compliqué
quand on peut faire simple.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
14 mai 2005 à 11:55
14 mai 2005 à 11:55
Salut,
Tu as toute à fait raison gbinforme quand tu dit
Tu as toute à fait raison gbinforme quand tu dit
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
14 mai 2005 à 22:04
14 mai 2005 à 22:04
Salut,
Tu as tout à fait raison gbinforme quand tu dit
"pourquoi faire compliqué quand on peut faire simple" mais malheureusement tu as oublié qu'il est débutant en programmation ("je débute dans la programmation VBA", "pardonnez-moi si ma question peut paraître stupide... ") et il faut choisir entre la simplicité ou la comprehension.
Je ne pense pas qu'au début de la programmation tu as crée les plus simple modules.
Donc d'après moi en ce cas mieux passer toutes les étapes (déclaraion des variables et initialisation des variables, etc..) que de faire d'un coup le plus simple.
J'avais déjà le module d'Armojax (enlever les variables et c'est tout, rien de special que l'élimination de quelque caractèrs des modules que j'ai envoyé) mais ce que j'ai envoyé à tec311 c'est mon module quand j'ai commencé VBA.
Bon week-end
A+
lami20j
P.S. Apropos ce sont des procédures et non des formules "très bien cette formule "
Tu as tout à fait raison gbinforme quand tu dit
"pourquoi faire compliqué quand on peut faire simple" mais malheureusement tu as oublié qu'il est débutant en programmation ("je débute dans la programmation VBA", "pardonnez-moi si ma question peut paraître stupide... ") et il faut choisir entre la simplicité ou la comprehension.
Je ne pense pas qu'au début de la programmation tu as crée les plus simple modules.
Donc d'après moi en ce cas mieux passer toutes les étapes (déclaraion des variables et initialisation des variables, etc..) que de faire d'un coup le plus simple.
J'avais déjà le module d'Armojax (enlever les variables et c'est tout, rien de special que l'élimination de quelque caractèrs des modules que j'ai envoyé) mais ce que j'ai envoyé à tec311 c'est mon module quand j'ai commencé VBA.
Bon week-end
A+
lami20j
P.S. Apropos ce sont des procédures et non des formules "très bien cette formule "
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 716
15 mai 2005 à 00:13
15 mai 2005 à 00:13
bonsoir
merci pour la leçon, mais j'ai toujours pensé (et je continue de le dire)
que la simplicité de la programmation la rend à la fois
plus compréhensible et plus efficace.
il faut déclarer et initialiser des variables quand elles sont nécessaires,
mais c'est préférable d'utiliser les données système que de les dupliquer
dans des variables personnelles qui n'ont aucune réalité propre.
Je ne pense pas qu'au début de la programmation tu as crée les plus simple modules
c'est une supposition gratuite et infondée car mon mentor
m'a permis d'éviter de compliquer inutilement dès le début.
ceci dit, c'est mon opinion et je la partage comme dit Vandel,
mais chacun est libre de raisonner à sa manière
et ce sera la meilleure pour lui.
merci pour la leçon, mais j'ai toujours pensé (et je continue de le dire)
que la simplicité de la programmation la rend à la fois
plus compréhensible et plus efficace.
il faut déclarer et initialiser des variables quand elles sont nécessaires,
mais c'est préférable d'utiliser les données système que de les dupliquer
dans des variables personnelles qui n'ont aucune réalité propre.
Je ne pense pas qu'au début de la programmation tu as crée les plus simple modules
c'est une supposition gratuite et infondée car mon mentor
m'a permis d'éviter de compliquer inutilement dès le début.
ceci dit, c'est mon opinion et je la partage comme dit Vandel,
mais chacun est libre de raisonner à sa manière
et ce sera la meilleure pour lui.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
15 mai 2005 à 00:28
15 mai 2005 à 00:28
Bonsoir,
"c'est une supposition gratuite et infondée car mon mentor
m'a permis d'éviter de compliquer inutilement dès le début. "
Je ne te donne pas des leçons, je ne crois pas que tu as besoins (tu as délà un mentor ) et ce n'est pas une supposition je suis certain.
Quant aux "variables personnelles" tu as tout à fait raison.
Moi j'ai écrit le code pour un débutant et en tant que débutant. (petite paranthèse - il y a qulqu'un qui m'a demandé un jour de lui faire un tp sur excel et en tant qu'autodidact, mon mentor c'est le net dont tu fait parti et j'ai obtenu 17/20 et ça ne veut dire pas que je suis fort mais seulement que ça peut aller)
Et si on parle de "données système" je suis désolé tu te trompes de nouveau, puisqu'il ne s'agit pas des donnés système, mais de l'environement d'excel.
Mais si tu trouves "ActiveSheet.Index" et "Worksheets.Count" sans avoir excel alors dit moi comment tu fais. Ca à l'air interessant.
A+
---
c'est sympa d'être important mais c'est plus important d'être sympa
"c'est une supposition gratuite et infondée car mon mentor
m'a permis d'éviter de compliquer inutilement dès le début. "
Je ne te donne pas des leçons, je ne crois pas que tu as besoins (tu as délà un mentor ) et ce n'est pas une supposition je suis certain.
Quant aux "variables personnelles" tu as tout à fait raison.
Moi j'ai écrit le code pour un débutant et en tant que débutant. (petite paranthèse - il y a qulqu'un qui m'a demandé un jour de lui faire un tp sur excel et en tant qu'autodidact, mon mentor c'est le net dont tu fait parti et j'ai obtenu 17/20 et ça ne veut dire pas que je suis fort mais seulement que ça peut aller)
Et si on parle de "données système" je suis désolé tu te trompes de nouveau, puisqu'il ne s'agit pas des donnés système, mais de l'environement d'excel.
Mais si tu trouves "ActiveSheet.Index" et "Worksheets.Count" sans avoir excel alors dit moi comment tu fais. Ca à l'air interessant.
A+
---
c'est sympa d'être important mais c'est plus important d'être sympa
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 716
15 mai 2005 à 00:45
15 mai 2005 à 00:45
bonjour
ce n'est pas une supposition je suis certain.
restes avec tes certitudes, c'est sympa d'être important...
ce n'est pas une supposition je suis certain.
restes avec tes certitudes, c'est sympa d'être important...
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
15 mai 2005 à 01:02
15 mai 2005 à 01:02
Bonsoir,
Moi je ne veut pas faire la guerre et je tient compte toujours de ce que je lis et bien sûr je fait mon choix
"mais chacun est libre de raisonner à sa manière " c'est naturrel.
Mais je vois que ton mentor t'as appris plûtot à copier ce que disent les autres donc je vois qu'il te manque "à sa manière".
A la place de jouer l'avocat peut être c'est mieux de partager tes connaissances.
-----------------------------------------------------------------------------
Concernant Armojax j'ai bien remarqué qu'il maîtrise assez bien excel.
Merci pour ta fonction
Function CHIFLETR(Nombre, Optional Monnaie As String = "euro", Optional Maju As Boolean = True)
---------------------------------------------------------------------------------------------------
Et en plus tu n'as même pas remarqué que je t'ai donné raison.
C'est facile de provoquer une dispute sans aucune raison et moi je ne veux pas ça.
Ca ne m'interesse pas d'être important, et je t'assure que ici j'ai appris pas mal des choses et surtout j'ai corrigé beaucoup des choses que j'ai mal appris, et ce n'est pas fini.
C'est toi qui a raison et ça ne me derange pas du tout, au contraire je te dit merci.
A+
Moi je ne veut pas faire la guerre et je tient compte toujours de ce que je lis et bien sûr je fait mon choix
"mais chacun est libre de raisonner à sa manière " c'est naturrel.
Mais je vois que ton mentor t'as appris plûtot à copier ce que disent les autres donc je vois qu'il te manque "à sa manière".
A la place de jouer l'avocat peut être c'est mieux de partager tes connaissances.
-----------------------------------------------------------------------------
Concernant Armojax j'ai bien remarqué qu'il maîtrise assez bien excel.
Merci pour ta fonction
Function CHIFLETR(Nombre, Optional Monnaie As String = "euro", Optional Maju As Boolean = True)
---------------------------------------------------------------------------------------------------
Et en plus tu n'as même pas remarqué que je t'ai donné raison.
C'est facile de provoquer une dispute sans aucune raison et moi je ne veux pas ça.
Ca ne m'interesse pas d'être important, et je t'assure que ici j'ai appris pas mal des choses et surtout j'ai corrigé beaucoup des choses que j'ai mal appris, et ce n'est pas fini.
C'est toi qui a raison et ça ne me derange pas du tout, au contraire je te dit merci.
A+
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
15 mai 2005 à 01:54
15 mai 2005 à 01:54
Bonsoir tec311,
tmtowtdi (there's more than one way to do it) - il existe plus d'une façon de faire
"pourquoi faire compliqué quand on peut faire simple."
A+
tmtowtdi (there's more than one way to do it) - il existe plus d'une façon de faire
Sub avancer () If ActiveSheet.Index < Sheets.Count Then ActiveSheet.Next.Activate End If End Sub
Sub reculer () If ActiveSheet.Index > 1 Then ActiveSheet.Previous.Activate End If End Sub
"pourquoi faire compliqué quand on peut faire simple."
A+
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
17 mai 2005 à 11:16
17 mai 2005 à 11:16
Allez, encore une variante...
Sub Avancer() On Error Resume Next ActiveSheet.Next.Activate End Sub Sub reculer() On Error Resume Next ActiveSheet.Previous.Activate End Sub
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
17 mai 2005 à 18:29
17 mai 2005 à 18:29
Ca c'est une vraie "dispute" sur ccm.
Félicitations Armojax.
.....c'est plus important d'être sympa.
Et je vois que tu ne fais pas des efforts, c'est naturel.
A+
lami20j
Félicitations Armojax.
.....c'est plus important d'être sympa.
Et je vois que tu ne fais pas des efforts, c'est naturel.
A+
lami20j
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
17 mai 2005 à 19:22
17 mai 2005 à 19:22
:-)