capture du nom de la feuille courante dans une macro

  • Initiateur de la discussion Initiateur de la discussion JYB
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JYB

Guest
Dans un classeur excel, j'ai plusieurs feuilles de calcul (Mois1, mois2,mois3...) et une feuille dans laquelle, à la fin de chaque mois, je veux recopier certaines données.
J'ai essayé de bricoler une macro qui me fait un copier coller à partir d'un mois mais quand je veux la faire fonctionner avec un autre mois, ce sont les données du premier mois (celui enregistré dans la macro) qui sont copiées.
Je ne copnnais pas le moyen de prélever le nom de la feuille courante dans une variable et d'y faire référence dans la macro.
Un p'tit coup de main ne serait pas de refus!
Merci d'avance.
 
Salut à tous,

JYB mets nous ton code ce sera plus simple pour te répondre.

sinon pourquoi ne pas remplacer sheets('Mois1") par une variable par exemple à l'aide d'une inputbox comme suit:

set NomF=application.inputbox("Saisissez lz nom de feuille")

with sheets(Nomf)
blabla ....


A+++
 
J'ai essayé mais Excel me renvoie un msg d'erreur de type :
Erreur 13 Incompatibilité de type"

Mon classeur Excel est composé des feuilles : Doc IA, Septembre, Octobre...
Ma macro, nommée transfert, est la suivante :

Sub transfert()
' transfert Macro
' Macro enregistrée le 25/09/2003 par Jean-Yves BEDENES
Set Nomf = Application.InputBox("Saisissez le nom de feuille")
With Sheets(Nomf)
Sheets(Nomf).Select
Range("BV414:BX414").Select
Selection.Copy
Sheets("Doc IA").Select
Range("B14").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Range("C14").Select
Sheets(Nomf).Select
Range("BS414:BU414").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Doc IA").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Range("D14").Select
Sheets("Nomf").Select
Range("BV420:BX420").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Doc IA").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
End With
End Sub
 
Salut à tous en ce week end pluvieux,

JYB, je suis désolé il ne fallait pas de set, donc voici ton code un peu amélioré avec une gestion d'erreur si le nom de feuille rentrée est incorrect.

Sub TransFert()
Dim Nomf As String, WS As Worksheet
Set WS = Sheets("Doc IA")
Nomf = Application.InputBox("Saisissez le nom de feuille")
Application.ScreenUpdating = False
On Error GoTo Errr
With Sheets(Nomf)
.Range("BV414:BX414").Copy
WS.Range("B14").PasteSpecial Paste:=xlPasteValues, Transpose:=True
.Range("BS414:BU414").Copy
WS.Range("C14").PasteSpecial Paste:=xlPasteValues, Transpose:=True
.Range("BV420:BX420").Copy
WS.Range("D14").PasteSpecial Paste:=xlPasteValues, Transpose:=True
End With
Application.CutCopyMode = False
Errr:
If Err = 9 Then MsgBox "Veuillez saisir un nom de feuille correct", vbInformation
End Sub


A+++
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour