Se connecter / S'enregistrer
Votre question

Changement de feuille dans la macro

Tags :
  • Select
  • Programmation
Dernière réponse : dans Programmation
1 Avril 2010 23:18:13

Bonjour à tous les programmeurs qui ne sont pas encore couchés.......

Voila mon petit problème

Je suis en train de faire une macro sur mon "cahier" de compte exel qui comporte plusieurs onglets.

En gros j'ai , 1 feuille "table" pour des Pb de correspondance, 1 feuille compte dans laquelle les opérations de débits et crédits sont saisies et une feuille "tableau croisé compte" qui comporte le tableau croisé des données de la feuille "compte" et des tas de tableaux afin de faire des extractions par catégories de dépenses.

Dans ma macro j'ai besoin absolument des données qui sont sur ces 3 feuilles distinctes

Quand dans la macro j"ai besoin de données sur la feuille "compte" j'ai mis : Sheets("compte").Select
et ainsi de suite pour les autres feuilles: sheets("tableau croisé compte").Select et Sheets("table").Select

Quelqu'un pourrait il me dire si cela est correct et si c'est suffisant pour qu'il aille chercher les données citées après chaque sheets..... dans la bonne feuille au bon endroit

Merci d"avance pour vos réponses malgré cette heure avancée

Janopolo

Autres pages sur : changement feuille macro

2 Avril 2010 00:01:12

Le mieux quand tu codes quelque chose en VBA, c'est de ne jamais utiliser les méthodes select, activate, il n'y en a que très rarement besoin.
Pour le reste, je te réfère à un cours qui m'a servi à l'époque:
ftp://ftp2.developpez.be/developps/vb/VB-excel2.pdf
m
0
l
2 Avril 2010 00:29:04

merci pour ta réponse


je vais regarder sur le lien le cours en question

bonne nuit

m
0
l
a b L Programmation
2 Avril 2010 11:26:53

Très bon lien Rakipu !

Je combats moi aussi l'utilisation des Select/Selection et autre Activate/Active sur le forum prog. de THfr.

JP, utilise Worksheets plutôt que Sheets. Et au lieu de faire un Range(...), fais un Worksheets(...).Range(...). Comme l'explique J-M R. dans son tuto, il est même judicieux de déclarer des variables et de l'utiliser :
  1. Dim sh_compte As Worksheet
  2. Dim sh_table As Worksheet
  3.  
  4. Set sh_compte = Worksheets("compte")
  5. Set sh_table = Worksheets("table")
  6.  
  7. MsgBox sh_compte.Range("A1")
  8. ...
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS