[Excel] Appel function et objet
Résolu/Fermé
deniooo
Messages postés
36
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
16 juin 2008
-
13 juin 2008 à 09:55
deniooo Messages postés 36 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 16 juin 2008 - 13 juin 2008 à 12:19
deniooo Messages postés 36 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 16 juin 2008 - 13 juin 2008 à 12:19
A voir également:
- [Excel] Appel function et objet
- Word et excel gratuit - Guide
- Si et excel - Guide
- Liste déroulante excel - Guide
- Appel inconnu - Guide
- Déplacer une colonne excel - Guide
4 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 718
13 juin 2008 à 10:33
13 juin 2008 à 10:33
bonjour
Tu sélectionne une cellule qui est un objet et tu le définis comme un range : excel le trouve incohérent.
Tu sélectionne une cellule qui est un objet et tu le définis comme un range : excel le trouve incohérent.
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
13 juin 2008 à 10:39
13 juin 2008 à 10:39
Bonjour,
Ta macro déboguée,
Pour ta ligne activemachin.activemachin etc.. pas besoin d'enfoncer les portes ouvertes :D
A+
EDIT:
Quand tu sélectionne une colonne entière Cel renvoi l'adresse de la colonne et pas celle d'une cellule
Ta macro déboguée,
Pour ta ligne activemachin.activemachin etc.. pas besoin d'enfoncer les portes ouvertes :D
Sub Test() Dim cel As Range Dim Lig As Long Dim Col As Integer Col = ActiveCell.Column Lig = Range(Cells(1, Col), Cells(1, Col)).SpecialCells(xlCellTypeLastCell).Row Range(Cells(1, Col), Cells(Lig, Col)).Select For Each cel In Selection 'Une fonction doit être appellé soit par une variable ou par Call Call toto(cel) Next End Sub Function toto(ByRef n As Range) n.Value = "gj" toto = MsgBox("up") End Function
A+
EDIT:
Quand tu sélectionne une colonne entière Cel renvoi l'adresse de la colonne et pas celle d'une cellule
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 718
13 juin 2008 à 10:53
13 juin 2008 à 10:53
bonjour
Quand on utilise une fonction c'est pour exploiter le résultat et donc l'appel se fait :
résultat = fonction(paramètres)
Une fonction n'est pas faite pour faire du traitement d'affichage de message ou autre.
Si tu veux faire de l'affichage ou autre, utilises une procédure "sub" que tu appelles par call.
Quand on utilise une fonction c'est pour exploiter le résultat et donc l'appel se fait :
résultat = fonction(paramètres)
Une fonction n'est pas faite pour faire du traitement d'affichage de message ou autre.
Si tu veux faire de l'affichage ou autre, utilises une procédure "sub" que tu appelles par call.
deniooo
Messages postés
36
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
16 juin 2008
1
13 juin 2008 à 12:19
13 juin 2008 à 12:19
Merci beaucoup pour vos remarques/aides
j'en ai tiré le code suivant :
Sub beurk()
Dim cel As Range
Dim cels As Range
Set plageC = Application.ActiveWorkbook.ActiveSheet.UsedRange.Columns("A").Cells
For Each cel In plageC
cel.Value = toto(cel)
Next cel
End Sub
Function toto(ByVal n As Range)
toto = "gj mec"
End Function
j'ai réussi à faire ce dont j'avais besoin, je résonnais à l'envers !
(probléme résolu !)
j'en ai tiré le code suivant :
Sub beurk()
Dim cel As Range
Dim cels As Range
Set plageC = Application.ActiveWorkbook.ActiveSheet.UsedRange.Columns("A").Cells
For Each cel In plageC
cel.Value = toto(cel)
Next cel
End Sub
Function toto(ByVal n As Range)
toto = "gj mec"
End Function
j'ai réussi à faire ce dont j'avais besoin, je résonnais à l'envers !
(probléme résolu !)