Fonction VBA pour copier coller une feuille

Fermé
Bou6Fedi Messages postés 10 Date d'inscription mercredi 23 décembre 2015 Statut Membre Dernière intervention 6 janvier 2016 - Modifié par Bou6Fedi le 6/01/2016 à 16:46
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 - 6 janv. 2016 à 17:35
j'ai crée une fonction qui copie colle une feuille, pourtant lorsque j’appelle cette fonction j'arrive pas a comprendre pourquoi les feuilles ne sont pas crée
voila mon code

Public Function CopyPast(rg As Range) As Integer

Dim sheetName As String
Dim pos As Integer

sheetName = rg.Value
pos = rg.Row

ActiveWorkbook.Sheets("template").Copy _
after:=ActiveWorkbook.Sheets(pos)
ActiveSheet.Name = sheetName
CopyPast = pos

End Function
A voir également:

3 réponses

ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
6 janv. 2016 à 17:24
Tu peux l'exécuter pour chaque cellule de la sélection
Public sub Machin()
dim rg as range
for each rg in selection
...
...
next rg
End sub
1
Bou6Fedi Messages postés 10 Date d'inscription mercredi 23 décembre 2015 Statut Membre Dernière intervention 6 janvier 2016
6 janv. 2016 à 17:25
Ok merci bien
0
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
6 janv. 2016 à 17:35
De rien

Si c'est fini, peux tu mettre le sujet à résolu (en dessous du titre de ton premier message)

Bonne fin de journée
0
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
6 janv. 2016 à 16:53
Bonjour

Une fonction est fate pour renvoyer une valeur et non pour modifier l'environnement
Utilises plutot une procédure
Public sub Machin(...)

...

End sub

Cdlmnt
0
Bou6Fedi Messages postés 10 Date d'inscription mercredi 23 décembre 2015 Statut Membre Dernière intervention 6 janvier 2016
6 janv. 2016 à 17:08
Merci ccm81 pour ton aide mais comme ca je ne peut pas l'appeler a partir d'une cellule excel (je ne peux pas faire =Machin(...) dans une cellule excel)
0
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
Modifié par ccm81 le 6/01/2016 à 17:13
Mais tu peux lui affecter un raccourci clavier, la macro s'exécutant sur la cellule selectionnée.
Public sub Machin()
dim rg as range
set range = selection
...
...

End sub

Cdlmnt
0
Bou6Fedi Messages postés 10 Date d'inscription mercredi 23 décembre 2015 Statut Membre Dernière intervention 6 janvier 2016
6 janv. 2016 à 17:21
D'accord ça a marché maintenant, mais y'a pas une plus belle façon de faire ça, suppose que j'ai 10000 cellule donc a chaque fois je dois sélectionner la cellule + Raccourci Clavier,
0