XL 2010 Fonction Sheet

Cazinos

XLDnaute Occasionnel
Bonjour,

Est il possible de ne pas tenir compte des 7 caracteres de droite dans la fonction
Sheet("exemple 02-2019") en vba

Je vous remercie
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Peut-être : Sheets("Exemple " & format(date,"mm-yyyy")) pour la feuille du mois courant.
Si on tombe à côté, il faut nous donner plus de détails sur le besoin

Bon après-midi
 
Dernière édition:

Cazinos

XLDnaute Occasionnel
Bonjour,

Merci pour la réponse

Je souhaite ne pas devoir changer la date tous les mois, pour ce faire, quand la macro arrive sur « Sheets("exemple 03-2019").Select », elle ne doit pas prendre en compte les 7 caractères de droite

Je vous remercie


Sub Exportation()

Sheets("exemple 03-2019").Select
Range("B5:R5").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy

Sheets("base").Select
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Selection.End(xlDown).Select

Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

On ne peut pas appeler, à ma connaissance, une feuille par une partie de son nom, sauf à parcourir toutes les feuilles et faire des tests divers et variés.
Il y a certainement plus simple à faire, mais comme nous ne connaissons rien de la structure du fichier, ni vision d'ensemble de la chose, il est difficile de vous aider.

Si votre feuille est toujours la dernière feuille du classeur, vous pouvez tenter: Sheets(Sheets.Count). Mais sans doute que je tape à côté...

Bon week-end de casse-tête
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Le problème soulevé au poste #3 semble différent de celui exposé au #1.
Personne n'a jamais dit que l'argument de la méthode Sheets devait être une constante.
Si vous avez la date dans une variable String pzar exemple SuffxDt vous pouvez par exemple faire :
VB:
With Sheets("exemple " & SuffxDt).Range("B5:R5")
    .Resize(.End(xlDown).Row - 4).Copy: End With
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour Dranreb,

Apparemment ce genre de solution ne semble pas convenir à Cazino voir post #3, #4 et réponse #5.
Il y a pourtant tellement de manières différentes de faire la même chose quand on sait ce qu'on veut, encore faut-il savoir ce qu'on veut;)
cordialement
 

zebanx

XLDnaute Accro
Bonjour à tous,

Perso j'utiliserais une inputbox pour appeler la feuille qui change de nom.
monchamp = InputBox(prompt:="Choisissez une référence")
Sheets(monchamp).Select

ou si c'est la dernière feuille du workbook
Sheets(Sheets.Count).Select

après microsoft aura peut-être l'idée de créer un assistant vocal... ("hey mercedes il faut qu'on se parle" :p)

@+
 

youky(BJ)

XLDnaute Barbatruc
Pour le fun,
A tester, la macro prends l'onglet du mois précédent cela durant tout le mois en cours et ainsi de suite.
Bruno
VB:
Sub Exportation()
j = Date - Day(Date)
onglet = "Exemple " & Format(j, "mm-yyyy")
Sheets(onglet).Select
[B5].Resize([B:R].Find("*", , , , 1, 2).Row - 4, 17).Copy Sheets("base").[C2]
'''''''''Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
End Sub
 

Discussions similaires

Réponses
2
Affichages
140

Statistiques des forums

Discussions
312 490
Messages
2 088 877
Membres
103 981
dernier inscrit
vinsalcatraz