deplacer par macro la feuille à l'écran

deplacer par macro la feuille à l'écran - VB/VBA/VBS - Programmation

Marsh Posté le 02-02-2012 à 13:52:13    

J'ai un "blocage" sur une macro excel mais il m'a été impossible de trouver une solution sur ce forum , pas plus d'ailleurs qu'une réponse à mon problème malgré une très longue recherche. Je débute en macro!
Voici exposé mon souci :
Je travaille sur un fichier xls qui s'appelle tableau dans lequel se trouve des feuilles (leur nombre et nom varie car j'en crée régulièrement des nouvelles sur la base d'un modèle qui est généré grâce à une macro sur la base d'une des feuille appelée "Modèle" ).
Chaque feuille constitue un dossier de travail qui finit par être apuré mais que je souhaite pouvoir archiver dans un autre fichier xls : archivage. Dans l'absolu il suffit donc de déplacer cette feuille d'un classeur à un autre et jusque là, pas de pb. Même si je rajoute qu'auparavant je rajoute que la zone G2 à K5 contient potentiellement des contacts (un par ligne) qui doivent être compilés dans la feuille Annuaire du fichier tableau dans les colonnes A à E je m'en sors ;-))
Là où je coince, c'est que je voudrai que la macro "d'archivage" puisse se trouver applicable à chacune des feuilles (elle est liée à un bouton que je place sur le Modèle et qui sera donc présent sur chaque feuille) avec donc un nom qui est celui de cette feuille (on retrouve pour toutes les feuilles leur nom en A3, si cela peut servir...?) affichée. J'ai donc besoin d'éviter que ma macro renvoie à un nom précis de feuille (qui d'ailleurs ne sera plus présente dans le fichier tableau une fois qu'elle aura été apurée) mais à celle qui est affichée... Vu mon niveau, si je crée une nouvelle macro et que j'exécute ma démarche, la macro enregistrée porte le nom de la feuille que j'ai archivée et donc si je veux l'appliquer à une autre, ça coince...
Ma bouteille est jetée, j'espère qu'elle trouvera quelqu'un qui puisse la comprendre ;-)) puis la résoudre...merci d'avance.

Reply

Marsh Posté le 02-02-2012 à 13:52:13   

Reply

Marsh Posté le 02-02-2012 à 17:08:02    

Désolé, je n'ai pas tout compris, mais voici une petite boucle qui donne le nom de chacune des feuilles d'un classeur, si ça peut aider :

Sub sheetnames()
    Dim i As Integer
     
    MsgBox (ThisWorkbook.Sheets.Count)
    For i = 1 To ThisWorkbook.Sheets.Count
       MsgBox ("Sheet #" & i & " is: " & Sheets(i).Name)
    Next i
       
End Sub

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed