Fonction VBA pour copier coller une feuille [Fermé]

Signaler
Messages postés
10
Date d'inscription
mercredi 23 décembre 2015
Statut
Membre
Dernière intervention
6 janvier 2016
-
ccm81
Messages postés
9197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
25 janvier 2020
-
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

3 réponses

Messages postés
9197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
25 janvier 2020
1 688
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 83193 internautes nous ont dit merci ce mois-ci

Bou6Fedi
Messages postés
10
Date d'inscription
mercredi 23 décembre 2015
Statut
Membre
Dernière intervention
6 janvier 2016

Ok merci bien
ccm81
Messages postés
9197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
25 janvier 2020
1 688
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
Messages postés
9197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
25 janvier 2020
1 688
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
Bou6Fedi
Messages postés
10
Date d'inscription
mercredi 23 décembre 2015
Statut
Membre
Dernière intervention
6 janvier 2016

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)
Messages postés
9197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
25 janvier 2020
1 688
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
Bou6Fedi
Messages postés
10
Date d'inscription
mercredi 23 décembre 2015
Statut
Membre
Dernière intervention
6 janvier 2016

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,