Macro sélection onglet

Fermé
yien62223 - 6 janv. 2017 à 15:01
 yien62223 - 6 janv. 2017 à 16:12
Bonjour, j'aurai besoin d'aide et ne trouve pas de solution dans les divers questions déjà posées,

J'ai un fichier dans lequel j'ai déjà automatisé, via des macros, des actions.

L'une d'elle créée un nouvel onglet, copie d'un onglet "Modèle", à remplir avec des mesures du jour et renomme l'onglet avec la date du jour.
Ce que je voudrais c'est pouvoir récupérer des valeurs et les copier dans un autre onglet pour y faire un graphique de suivi mais le soucis :
Les valeurs sont par exemple en B3 B15 F10 etc mais à coller en B2 B3 B4 B6 etc..
J'ai enregistré une macro, pour la première valeur pas de soucis car je lance la macro en étant sur le bon onglet, mais pour les suivants il me prend le nom de l'onglet sauf que celui-ci va changer le lendemain.

Je ne sais pas si je m'exprime bien mais est-ce possible déjà?

Merci à tous

Cordialement

A voir également:

5 réponses

yg_be Messages postés 23327 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 novembre 2024 Ambassadeur 1 551
6 janv. 2017 à 15:15
Si tu veux contrôler dans ton code sur quel onglet tu travailles, tu peux le faire facilement, exemple:
Worksheets("Nouveau").Cells(1, 1)=Worksheets("Modèle").Cells(1, 1)
ou bien
Dim ongletmodele As Worksheet
Dim ongletnouveau As Worksheet
Set ongletmodele = Worksheets("Modèle")
Set ongletnouveau = Worksheets("Nouveau")
ongletnouveau .Cells(1,1)=ongletmodele.Cells(1, 1)
Cela t'aide-t-il?
1
Voilà la macro actuelle, mon problème est dans le nom sheets("2017-01-06") qui apparrait à partir de ma 2e recopie. :



Range("C11").Select
Selection.Copy
Sheets("Graphique").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("2017-01-06").Select
Range("C18").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Graphique").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("2017-01-06").Select
Range("C25").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Graphique").Select
Range("B5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("2017-01-06").Select
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 9
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 12
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 14
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 16
ActiveWindow.ScrollRow = 17
ActiveWindow.ScrollRow = 18
ActiveWindow.ScrollRow = 19
ActiveWindow.ScrollRow = 20
ActiveWindow.ScrollRow = 21
ActiveWindow.ScrollRow = 22
Range("C35").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Graphique").Select
Range("B8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("2017-01-06").Select
Range("J35").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Graphique").Select
Range("B9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("2017-01-06").Select
Range("C42").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Graphique").Select
Range("B11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("2017-01-06").Select
Range("J42").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Graphique").Select
Range("B13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D23:G31").Select
Sheets("2017-01-06").Select
Range("C49").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Graphique").Select
Range("B15").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("2017-01-06").Select
Range("J49").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Graphique").Select
Range("B16").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("2017-01-06").Select
ActiveWindow.LargeScroll Down:=-1
Range("K10").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Graphique").Select
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
0
J'ai testé cela fonctionne pour recopier valeur

par contre je dois renseigner le nom de l'onglet "Nouveau" pour ma destination "Graphique" pour moi
et le nom "Modèle" pour mon onglet du jour mais celui-ci va changer alors que la macro s'attend à l'onglet "Modèle"
0
yg_be Messages postés 23327 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 novembre 2024 1 551
6 janv. 2017 à 16:11
Si tu utilises ceci:
Set ongletmodele = Worksheets("Modèle")
Set ongletnouveau = Worksheets("Nouveau")
J'ai mis les noms comme exemple simple pour te montrer comment faire. Ta macro peux librement choisir les noms des deux onglets, par exemple en les calculant, en les demandant, ou en les lisant dans une case. Exemple:
Set ongletnouveau = Worksheets(CStr(Date))

Tu peux sans doute t'en sortir en utilisant Activesheet et en chipotant avec des Select, mais je te le déconseille, cela te donnera sans doute des problèmes plus tard.
0
Mais en utilisant Activesheet je devais m'en sortir tout de même?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Parfait

Merci beaucoup
0