VBA pb d'appel de fonction
Résolu/Fermé
ori05
Messages postés
56
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
7 septembre 2009
-
7 sept. 2009 à 12:16
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 - 8 sept. 2009 à 09:27
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 - 8 sept. 2009 à 09:27
A voir également:
- Appel fonction vba
- Fonction si et - Guide
- Appel anonyme - Guide
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Incompatibilité de type vba ✓ - Forum Programmation
- Appel annulé iphone - Forum Mobile
3 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
7 sept. 2009 à 12:55
7 sept. 2009 à 12:55
Bonjour,
Peux tu nous dire:
1) Quel message d'erreur as-tu ?
2) Sur quelle ligne l'erreur se produit.
3) core1_ocean correspondant à quoi dans : Call copier_coller(core1_ocean), est-ce une plage déjà nommée dans Excel ?
Merci
;o)
Peux tu nous dire:
1) Quel message d'erreur as-tu ?
2) Sur quelle ligne l'erreur se produit.
3) core1_ocean correspondant à quoi dans : Call copier_coller(core1_ocean), est-ce une plage déjà nommée dans Excel ?
Merci
;o)
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
7 sept. 2009 à 12:56
7 sept. 2009 à 12:56
bonjour :)
Je oense que ce sont tes guillemets qui te font l erreur ;) =>
Function copier_coller(argument)
Sheets("Data_ASM").Select
Sheets("Data_ASM").Range(argument).Select
Selection.Copy
Set plage = Range(argument)
CellAdd = plage.Address
b = InStr(1, CellAdd, ":")
c = InStr(b + 2, CellAdd, "$")
ligne = Right(CellAdd, Len(CellAdd) - c)
Sheets("Data_ASM").Rows(ligne + 1).Select
Selection.Insert Shift:=xlDown
End Function
Je oense que ce sont tes guillemets qui te font l erreur ;) =>
Function copier_coller(argument)
Sheets("Data_ASM").Select
Sheets("Data_ASM").Range(argument).Select
Selection.Copy
Set plage = Range(argument)
CellAdd = plage.Address
b = InStr(1, CellAdd, ":")
c = InStr(b + 2, CellAdd, "$")
ligne = Right(CellAdd, Len(CellAdd) - c)
Sheets("Data_ASM").Rows(ligne + 1).Select
Selection.Insert Shift:=xlDown
End Function
ori05
Messages postés
56
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
7 septembre 2009
3
7 sept. 2009 à 13:44
7 sept. 2009 à 13:44
J'ai essayé d'enlever les guillemets ca ne marche pas...
Merci quand même
Merci quand même
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
8 sept. 2009 à 09:27
8 sept. 2009 à 09:27
Bonjour :)
Bon, je t'ai fais un exemple qui fonctionne.. enfin en partie car le 'coller' se colle sur toute les lignes.. je pense que la manip serait d'inserer d abord le nombre de lignes et après faire le coller juste dans la cellule suivante...
http://dl.free.fr/getfile.pl?file=/zi6wbvhf
@++
Bon, je t'ai fais un exemple qui fonctionne.. enfin en partie car le 'coller' se colle sur toute les lignes.. je pense que la manip serait d'inserer d abord le nombre de lignes et après faire le coller juste dans la cellule suivante...
http://dl.free.fr/getfile.pl?file=/zi6wbvhf
@++
7 sept. 2009 à 13:43
1) mon message d'erreur est le suivant : "erreur d'éxecution 1004 erreur définie par l'apllication ou par l'objet"
2) l'erreur se produit sur la ligne : Sheets("Data_ASM").Range(argument).Select (c'est évident que ça beuge ici étant donné que je n'ai pas de plage argument dans ma feuille Data_ASM ! mais je ne vois pas comment contourner ce pb....)
3) oui core1_ocean est une plage déjà nommée dans excel dans la feuille Data_ASM plus exactement
Merci beaucoup !!
7 sept. 2009 à 15:24
Voilà un petit test.
Ca peut te permettre d'y voir un peu plus clair dans la manipulation d'un objet (Range).
;o)
7 sept. 2009 à 15:57
Sub copier_coller(argument)
argument.Select
Selection.Copy
CellAdd = argument.Address
b = InStr(1, CellAdd, ":")
c = InStr(b + 2, CellAdd, "$")
ligne = Right(CellAdd, Len(CellAdd) - c)
Rows(ligne + 1).Select
Selection.Insert Shift:=xlDown
End Sub
Sub macro1()
Dim plage As Range
Set plage = Sheets("Data_ASM").Range("core1_ocean")
Call copier_coller(plage)
End sub
et la j'ai erreur 1004 : la methode select de la classe Range a échoué j'ai cette erreur sur la ligne argument.select
merci
7 sept. 2009 à 16:28